PDA

Просмотр полной версии : Как вызвать функцию при перемещении мышки?


molodets9999
25.03.2009, 12:41
Здравствуйте,
есть код:

for(i=0;i<=numDS;i++){
dot = this.attachMovie("star", "star"+i, this.getNextHighestDepth());
dot.onEnterFrame = function(){
if((this._x<_xmouse+20) && (this._x>=_xmouse) && (this.xSpeed>0) && (this._y<_ymouse+10) && (this._y>_ymouse-10)){
this.xSSp=5;
}
}
}
Нужно чтобы функция вызывалась при перемещении мышки.
Насколько я понимаю, onClipEvent(mouseMove) вписывается только в сам муви клип. Помогите решить этот вопрос, плз

Fatality
25.03.2009, 12:49
dot.onMouseMove = function()

molodets9999
25.03.2009, 13:39
Fatality, спасибо)

Таким вот образом вставил флешку в хтмл, и обнаружилась, что она работает нормально во всех браузерах, кроме оперы (тестил на 9). В опере, чтобы флешка взаимодействовала с мышью, нужно единожды щёлкнуть на неё. Подскажите, плз, как можно обойтись без этого щелчка?
<object width="1024" height="100"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0">
<param name="quality" value="high" /><param name="src" value="shl9pa.swf" />
<embed type="application/x-shockwave-flash" width="1024" height="130" src="shl9pa.swf" quality="high">
</embed>
</object>

Жень Шень
26.03.2009, 12:05
Привет!
Необходимо передать фокус swf. Если не ошибаюсь, это можно сделать с помощью SWFObject.
Прочитать про него можно здесь (http://noregret.org/tutor/swfobject/) или прогуглить.

molodets9999
28.03.2009, 19:01
не нашёл как передать фокус swf. Если кто знает, подскажите, плз

iNils
28.03.2009, 19:15
В фаерфоксе программно поместить фокус на флеш нельзя, а в опере вроде тоже.

dima_kiv
28.03.2009, 19:57
создай файл publishing.js с кодом

function pubFlashCont(url, id, width, height) {
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+width+'" height="'+height+'" id="'+id+'" align="middle">\n');
document.write('<param name="allowScriptAccess" value="sameDomain">\n');
document.write('<param name="movie" value="'+url+'">\n');
document.write('<param name="menu" value="false">\n');
document.write('<param name="quality" value="high">\n');
document.write('<param name="scale" value="noscale"><param name="bgcolor" value="#000000">\n');
document.write('<embed src="'+url+'" quality="high" scale="noscale" bgcolor="#000000" menu="false" width="'+width+'" height="'+height+'" name="'+id+'" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">\n');
document.write('</object>');
}


в html вставляешь код:

<html>
<head>
<script src="publishing.js"></script>
</head>
<body>
<script language="javascript">
pubFlashCont('имя.swf', 'имя', 'ширина', 'высота');
</script>
</body>
</html>


должно работать.. )

molodets9999
28.03.2009, 22:09
dima_kiv,
Спасибо, скрипт прекрасно хавается последними версиями ИЕ, оперы и файерфокса.
Возможно и старыми, я не пробовал :)