Volledige versie bekijken : mouseY negatief??
PageMaker
%Europe/Berlin %685 %2010, 16:27
Hoe kan het dat mouseY een negatieve waarde retourneert?
Ik krijg dat als ik vanuit de instantie van bijvoorbeeld klasse A met:
thumbSlider.addEventListener( Event.ENTER_FRAME, thumbSlider.moveThumbSlider, false, 0, true );de functie moveThumbSlider uit de klasse ThumbSlider laat uitvoeren.
mouseY gebruik ik in moveThumbSlider; en daar komt ook die negatieve waarde te voorschijn.
marcvz
%Europe/Berlin %710 %2010, 17:02
Dat kan als je muis hoger is dan het 0 punt van je instance.
PageMaker
%Europe/Berlin %724 %2010, 17:23
Leg is uit. Het referentiekader van dat ding is toch 0,0 zijnde het linkerbovenpunt van de stage; en er is maar een (1) stage, toch?
marcvz
%Europe/Berlin %728 %2010, 17:28
Ik weet niet wat voor ding 'dat ding' is.
En wat voor positie dat ding op de stage heeft.
Maar anders gebruik je stage.mouseY ipv de mouseY van je 'ding'
PageMaker
%Europe/Berlin %731 %2010, 17:33
OK, eens kijken of dat wil gaan.
Dat gaat een stuk beter, dank voor de moeite!
jaspermuts
%Europe/Berlin %531 %2010, 12:45
Leg is uit. Het referentiekader van dat ding is toch 0,0 zijnde het linkerbovenpunt van de stage; en er is maar een (1) stage, toch?
Er is maar een stage, maar er zijn meerdere coordinatenstelsels, waaronder die van de stage.
Elk displayobject heeft zijn eigen coordinatenstelsel. 0,0 van de stage is de linkerbovenhoek van de stage, maar 0,0 in het coordinatenstelsel van een movieclip is de linkerboven hoek van de movieclip zelf. Als je dinges.mouseX/Y opvraagt, dan gebruik je altijd het stelsel van 'dinges'. Daardoor heb je een verschil tussen stage.mouseY en dinges.mouseY
als jouw movieclip 'dinges' op 10,0 op de stage staat en je mouse staat op 5,0 op de stage, dan is stage.mouseX gewoon 5, maar dinges.mouseX is dan -5 (5 - 10).
PageMaker
%Europe/Berlin %579 %2010, 13:54
jaspermuts, dank voor de uitleg; zo is het weer wat duidelijker.
Zoals ik het nu begrijp hebben alle displayobjecten die onderdeel van de displaylist zijn elk hun eigen coordinatenstelsel, maar zijn ze ook alle gerelateerd aan het coordinatenstelsel van de stage. Een 1:N relatie tussen de stage en alle elementen van de displaylist. En hopelijk niet ook nog eens ten opzichte van elkaar.
jaspermuts
%Europe/Berlin %607 %2010, 14:34
Eh, nee, het is juist wel ten opzichte van elkaar.
var mcA:MovieClip = new MovieClip();
var mcB:MovieClip = new MovieClip();
var mcC:MovieClip = new MovieClip();
addChild(mcA); // voeg A toe aan stage
mcA.addChild(mcB); // voeg B toe aan mcA
mcB.addChild(mcC); // voeg C toe aan B
mcA.x = 10; // zet de x van de movieclip op 10 in de coordinaten van zn parent (= stage)
mcB.x = 10; // zet de x van de movieclip op 10 in de coordinaten van zn parent (= in mcA)
mcC.x = 10; // zet de x van de movieclip op 10 in de coordinaten van zn parent (= in mcB)
De mc's zitten nu niet allemaal over elkaar heen, maar elk 10 naast elkaar, staat:
A op de stage op x = 10,
B op de stage op op x = 20 (de 10 van B + de 10 van A)
C op de stage op x = 30 ( de 10 van C + de 10 van B + de 10 van A)
als stage.mouseX = 5:
mcA.mouseX = -5 (5 - 10)
mcB.mouseX = -15 (5 - 10 - 10)
mcC.mouseX = -25 (5 - 10 - 10 - 10)
..geloof ik, heb even geen flash, maar ipv voor de zekerheid navragen kun je het best dit even testen in een nieuwe fla en waardes tracen.
PageMaker
%Europe/Berlin %697 %2010, 16:44
Redelijk ingewikkeld dus; en dan ook niet meer verwonderlijk dat we soms door de bomen het bos niet meer zien. Maar dank voor de uitleg!
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.