"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

logical OR in flash

flocky 19.08.2004 - 15:20 575 13
Posts

flocky

sn0wner (analphabet)
Avatar
Registered: May 2002
Location: life-compiler
Posts: 1663
z0rs

hab ein problem in flash, und zwar hab ich folgende if-condition:

if(frame != "60" || frame != "180")

aber anscheinend ist der syntax falsch, weil die condition nie anspringt. wenn ich direkt mit == vergleiche funktionierts, also liegt auch kein deklarationsfehler vor.

ich habs auch schon so versucht:

if(frame != "60" || "180")

funktioniert aber genau so wenig und schaut noch unplausibler aus.
hat wer eine idee?

tia

semteX

begehrt die rostschaufel
Avatar
Registered: Oct 2002
Location: Pre
Posts: 14594
äh die ist doch sinnlos

das ding springt dann wenn frame nicht 60 ODER nicht 180 ist.

diese bedingung stimmt immer.

flocky

sn0wner (analphabet)
Avatar
Registered: May 2002
Location: life-compiler
Posts: 1663
rofl, mist du hast recht :rolleyes::D das is jetz peinlich...

hctuB

Bloody Newbie
Avatar
Registered: Feb 2002
Location: Pampa LL
Posts: 2402
Zitat von semteX
äh die ist doch sinnlos

das ding springt dann wenn frame nicht 60 ODER nicht 180 ist.

diese bedingung stimmt immer.

Jetzt check ich aber deine Logik nicht ganz

stimmt doch nur dann wenn nicht 60 oder 180 also nicht immer (wofür er das auch immer braucht), oder?

edit: ok war nicht so gewollt

semteX

begehrt die rostschaufel
Avatar
Registered: Oct 2002
Location: Pre
Posts: 14594
Zitat von hctuB
Jetzt check ich aber deine Logik nicht ganz

stimmt doch nur dann wenn nicht 60 oder 180 also nicht immer (wofür er das auch immer braucht), oder?

frame = 60

dann ist er aber auch nicht 180 => true

frame = 180

dann ist er aber auch nicht 60 => true

frame = 21

doppelt true

:D

flocky

sn0wner (analphabet)
Avatar
Registered: May 2002
Location: life-compiler
Posts: 1663
ja, aber 60 is nicht 180 und 180 is nicht 60 :D
er hat schon recht

edit: oasch, 0wn3d :D

hctuB

Bloody Newbie
Avatar
Registered: Feb 2002
Location: Pampa LL
Posts: 2402
Zitat von semteX
frame = 60

dann ist er aber auch nicht 180 => true

frame = 180

dann ist er aber auch nicht 60 => true

frame = 21

doppelt true

:D

korekt bei oder gilt nur solange bis zumindest eine Bedingung erfüllt wird naja Aussagenlogik ist schon lange her trtzdem zum verstecken.

Danke

flocky

sn0wner (analphabet)
Avatar
Registered: May 2002
Location: life-compiler
Posts: 1663
ich mach eine if-bedingung in einer if-bedingung. wenn beide in einem sind erfüllen sie sich gegenseitig...

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
imho ein typischer fall für die de-morgan regel - hilft bei der konstruktion solcher boolischen ausdrücke: (da dürfte auch der gedankenknoten im ausdruck ganz oben passiert sein)

!(a || b) == (!a && !b)
!(a && b) == (!a || !b)

was du also brauchst ist

if( !(frame==60 || frame==180)) {
// true bei allen frames ausser 60 und 180
// das wolltest du ursprünglich haben, oder ?
}

bzw (frame!=60 && frame !=180)

flocky

sn0wner (analphabet)
Avatar
Registered: May 2002
Location: life-compiler
Posts: 1663
habs jetz in meinem konkreten fall folgendermaßen gelöst:

Code:
on(rollOver)
{
var frame = innerclip._currentframe;
	if(frame >= 310 && frame <= 590 || frame >= 1430 && frame <= 1710)
	{
	}
	else
	{
		if(frame >= 1710 || frame <=310)
		{
		   tellTarget("innerclip")
		   {
			 GotoAndPlay(311);
		   }
		}
		else
		{
			tellTarget("innerclip")
			{
				GotoAndPlay(1430);
			}
		}
	}
}

und zwar hab ich im submovie "innerclip" immer wieder einen bildsprung und dann wird das bild über eine gewisse anzahl von frames angezeigt bis es wieder einen bildsprung gibt.
also verwende ich if(frame >= 310 && frame <= 590 || frame >= 1430 && frame <= 1710) um auszuschließen, dass beim rollover ein bildsprung stattfindet wenn das bild auf das der button wechselt grad angezeigt wird.
die sache mit dem not löse ich hier so, dass ich abfrage ob das bild gerade angezeigt wird und wenn ja, dann wird nichts gemacht und falls es anders is findet der sprung statt.
das bild kommt übrigens in zwei bereichen vor und zwar deshalb, weil es einmal einen sprung von links und einmal einen von rechts gibt, je nachdem, welches bild gerade zu sehen ist.
hier übrigens das ergebnis: http://www.kreativeimpulse.at

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25422
knallige farben != kreativität

flocky

sn0wner (analphabet)
Avatar
Registered: May 2002
Location: life-compiler
Posts: 1663
sag das nicht mir sondern meinen kunden ;)

sie geben seminare wo kreativität gesteigert und gefördert werden soll, es werden konzepte entworfen usw.
die seite soll also was zweischneidiges darstellen, einerseits diese knalligen farben die mir persönlich auch nicht so gut gefallen weil bei seminaren auch verrückte dinge geschehen wie diese farbspritzereien usw. andererseits ein gewisser seriöser auftritt der seite wo eben alles perfekt und flüssig abläuft.
is übrigens noch nicht ganz fertig, die texte werden auch noch dynamischer eingeblendet und die AGBs kommen noch rein.

meiner meinung nach is kreativität immer subjektiv, deshalb können knalligere farben auch kreativ sein also :fresserettich:;)

semteX

begehrt die rostschaufel
Avatar
Registered: Oct 2002
Location: Pre
Posts: 14594
es scrolled nicht "flüssig". wenn du vom linken zum rechten gehst wird einiges übersprungen

fleshmark

GameDev
Avatar
Registered: Aug 2000
Location: Wien
Posts: 2958
Zitat von flocky
andererseits ein gewisser seriöser auftritt der seite wo eben alles perfekt und flüssig abläuft.

meiner meinung nach is kreativität immer subjektiv, deshalb können knalligere farben auch kreativ sein also :fresserettich:;)

evtl. ist das ganze "kreativ" aber imho schaut die seite einfach _nur_ billig aus. Schau dasst die ganzen hellen ränder um die leute/schriften wegbekommst und verwend entweder einen scharfzeichner oder besorg dir neue bilder für die hintergründe und die typen.

Alles natürlich imho - wollen dir ja helfen :D
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz