Volledige versie bekijken : Flash 7.2 - Hittest buiten de movie ...
ocdaan
%Europe/Berlin %664 %2005, 16:56
Hoi allemaal,
Ik heb een kleine movie gemaakt waarin een flv fimpje gestreamed wordt (125 x 100 pixels). Tot zover geen probleem. Nu heb ik een schuif-vlakje gemaakt dat het scherm inkomt wanneer de gebruiker met de muis in de movie komt. Hier heb ik een hittest voor gebruikt. Als ik het test werkt het prima maar in de browser gedraagd de movie zich erg vreemd. Het vlakje komt binnen gaat weer weg wanneer ik de muis wegbeweeg (werkt dus 1 of 2 keer) en soms werkt het nog een 2e keer maar dan is het gebeurt. Het vlakje blijft in de movie. In de movie heb ik een textveldje om te debuggen en deze geeft aan dat er een hit is terwijl de muis toch echt uit de move is. Is dit mss iets nieuws weer bij 7.2? ik heb dit trukje vaker gebruikt en het werkte altijd prima. Ik heb trouwens 4 van die movies in de pagina zitten, kan dit invloed hebben?
alvast bedankt ....
TheDutch
%Europe/Berlin %665 %2005, 16:58
Misschien helpt het om te laten zien hoe je het één en ander in elkaar hebt gezet? :)
ocdaan
%Europe/Berlin %671 %2005, 17:06
Nou, ik zie het probleem al, kan het zet zo makkelijk ff uitleggen.
De hittest blijkt dus niet te werken als de muis buiten het flash object is, in html gedeelte dus. 90% van de movie word gedekt met een mc. Op die mc voer ik een hittest uit:
if(_root.video1.hitTest( _root._xmouse, _root._ymouse, false)){
De movie werkt dus prima zolang ik de muis binnen het flash object houd maar zodra de muis erbuiten komt blijft die hittest op true staan??? heel vreemd.
De vraag word dus: Hoe kan ik testen dat de muis zich binnen het flash-object bevind? of liever gezegt, wanneer weet flash dat de muis zich buiten het flash-object bevind? want binnen werkt namelijk wel.
het vreemde is dat ik andere movies heb (lees, oudere movies) waarin dit wel werkt?
iemand suggesties?
/edit - ik heb net die movie weer ff 4x in de html gezet en het lijkt dat het geheel zo traag word dat de movies zoiezo erg traag worden. Tot aan bijna vastlopen lijkt wel. Ik begin te denken dat het probleem 2 oorzaken heeft.
1 >> hittest werkt niet meer naar behoren buiten het flash-object.
2 >> doordat ik 4x de movie toon in html word het geheel te traag.
vraagje over punt 2. Ik heb een script gebruikt waarbij een flv stream word geladen. De stream laad ongeveer 2 sec (ff bufferen) en dan kap ik de stream af om een preview te krijgen. Als er op de movie word geklikt zal de gehele movie worden ingeladen. Dit werkt wel erg mooi maar ik begin het idee te krijgen dat flash dit geintje toch niet helemaal lekker vind.
Heeft iemand anders nog een leuk trukje om aleen de eerste 2 seconden van een flv te streamen zonder de hele film te preloaden? en zonder gebruik van communication server aub ;-)
TheDutch
%Europe/Berlin %680 %2005, 17:20
<script language="JavaScript1.2">
function mouseMoveHandler (evt) {
document.flashmovie.SetVariable("_root.mouseout", 1);
}
if (document.layers || document.all){
document.onmousemove = mouseMoveHandler;
}
else{
document.captureEvents(Event.MOUSEMOVE);
}
</script>
Op de root van je Flashmovie is er nu een variable mouseout die een boolean heeft of de muis binnen het Flash object is of niet :).
ocdaan
%Europe/Berlin %681 %2005, 17:21
Cool :eek: dat wist ik niet..... Thanx M8 !!! ga direct ff proberen....
//edit
Het werkt prima, js geeft netjes door als de muis beweegt in html MAAR ;-) ook wanneer de muis over het flash-object beweegt.... is dit normaal?
Dit heb ik nu in flash, maar het menu wil niet open blijven staan omdat flash steeds een mouseout = 1 doorkrijgt...
onClipEvent (mouseMove){
_root.mouseout = 0
if(!_root.isOpen){_root.vlak.play()}
}
onClipEvent (enterFrame){
//if(_root.video1.hitTest( _root._xmouse, _root._ymouse, false)){
//}
if(_root.mouseout and _root.isOpen){
_root.vlak.play()
}
}
Ik ga nu naar huis, straks ff verder...
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.