webForumDet fria alternativet

If-sats

Flash

7 svar · 299 visningar · startad av Thorsander

Medlem sedan aug. 2001746 inlägg
Frågan#1

Nu har jag ett nytt problem.

Jag skulle vilja att man förflyttas till en ny scene om man för musen inom ett visst område (utan att klicka).

Jag har följande kod:

onClipEvent (mouseMove) {
	var tempXPos = _xmouse;
	var tempYPos = _ymouse;
	
	_parent.yPos = tempYPos;
	_parent.xPos = tempXPos;

	If (tempXPos<=10) & (tempYPos<=10) & (tempXPos=>5) & (tempYPos>=5){
	gotoAndStop("Scene2", 1);

	}
}

Koden ovan skall ses som en seudokod - jag har nämligen ingen aning om hur man gör. Har försökt att få hjälp av integrerade hjälpen - men jag tycker att Flashs if-satser är lite konstiga!?

Medlem sedan aug. 2001746 inlägg
#2

Snälla - finns det inte någon som kan hjälpa mig!?

Medlem sedan aug. 2001746 inlägg
#3

Vad som är viktigast för mig nu är att lära mig hur man gör en "fler alternativs regel" - en if-sats med flera värden som måste uppfyllas för att köras alltså:

if x<=5 and y<=5 then....
Hur gör jag det?

Följande funkar iaf inte:
if (tempXPos < 100) && (tempYPos <100){
_parent.gotoAndPlay(3);
}

Medlem sedan nov. 20018 492 inlägg
#4

&& = and
|| = or
! = not (skrivs if(**!**bla=="bla") {)

if(tempXPos<100 && tempYPos<100) {
_parent.gotoAndPlay(3);
}

Det lättaste du kan göra i det här fallet är nog att du skapar en osynlig knapp och har följande kod på den.

on(rollOver) {
gotoAndStop("Scene2",1);
}
Medlem sedan aug. 2001746 inlägg
#5

Tack för hjälpen men jag måste köra plocka ut musens position och använda mig av dess värde eftersom jag kommer att få in ännu ett värde - man kommer att navigera i 3D - med sin hand framför skärmen - jag får alltså in 3 kordinat från C++ (höjdläge, sidoläge och djupläge)

Medlem sedan maj 2003750 inlägg
#6

ytterligaer en sak:

gotoAndStop("Scene2", 1);

funkar bara om den utförs på huvudtidslinjen!

Använd frame-labels istället!!

Skapa ett nytt lager i scen 2.

markera första bildrutan och öppna properties panelen.

i textfältet överst till vänster står det: "< frame label >". skriv in ett passande namn t.ex. "scen2" där och tryck enter.

(Detta förutsätter dock att du har flash mx eller senare. om du använder flash 5 så öppnar du frame-panelen och skriver i markerat textfällt.)

Gå till filmklippet som du har koden på:

If(tempXPos <= 10 && tempYPos <= 10 && tempXPos => 5 && tempYPos >= 5)
	_root.gotoAndStop("scen2");

/Mirandir

(Sen höll jag faktiskt på att falla för att återigen propagera mot bruket av scener. Men jag skall låta bli denna gången! ;) )

Medlem sedan aug. 2001746 inlägg
#7

Mirandir

Du fattar inte hur mycket du hjälpte mig!!!
Eftersom jag inte är så duktig på Flash så stöter jag på problem helatiden.
Genom ditt inlägg så hjälpte du mig med ett uppkommet problem jag suttit med i över 2 timmar!

Jag kunde inte hoppa mellan olika scener.

Tack!!!
Tack!!!
Tack!!!

/S

Medlem sedan nov. 200013 890 inlägg
255 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)