webForumDet fria alternativet

If-sats

7 svar · 299 visningar · startad av Thorsander

ThorsanderMedlem sedan aug. 2001746 inlägg
#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!?

ThorsanderMedlem sedan aug. 2001746 inlägg
#2

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

ThorsanderMedlem 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);
}

Mika3lMedlem 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);
}
ThorsanderMedlem 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)

mirandirMedlem 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! ;) )

ThorsanderMedlem 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

Web-TorMedlem sedan nov. 200013 890 inlägg
123 ms totalt · 3 externa anrop · v20260731065814-full.86db40fa
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)