Zurück   Flashforum > Flash > ActionScript > ActionScript 2

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-09-2011, 11:32   #1 (permalink)
Neuer User
 
Benutzerbild von chrisflasher
 
Registriert seit: Mar 2008
Beiträge: 98
Was ist an dieser Funktion (var myNumber = 1) falsch ?

Hallo zusammen

ich habe einen MC gebastelt in dem ich folgenden AS verwende:

Code:
onClipEvent (enterFrame) { 

var myNumber = 1;

if (myNumber == 1) {
_root.gremlin1._x -=2;
}
Bis hierhin funktioniert alles einwandfrei der MC bewegt sich, da "myNumber" == 1 ist.


Jetzt soll durch eine Hittest Funktion der MC gestoppt werden, indem MyNumber verändert wird.

Code:
if (_root.fireball.hitTest(_root.gremlin1)) {

	myNumber = 2;
}
Obwohl der Hittest korrekt ausgeführt wird, hat diese Funktion leider keine Wirkung, der MC bewegt sich weiterhin, was mache ich falsch ?

Gruß

Chrisflasher
__________________
Actionscript bringt mich eines Tages noch um ^^
chrisflasher ist offline   Mit Zitat antworten
Alt 08-09-2011, 12:09   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
onClipEvent (enterFrame) {
var myNumber = 1;

myNumber ist wegen dem var eine locale variable dieser function und somit ausserhalb nicht erreichbar.

AS2 zeigt das nicht als fehler, sondern legt bei
myNumber = 2;
eine gleichnamige, aber an einem anderen ort befindliche variable an.

langer rede kurzer sinn: mach das ding global bekannt ;-)
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (08-09-2011 um 12:16 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 08-09-2011, 12:09   #3 (permalink)
Knallrot
 
Benutzerbild von Mr.Sunburn
 
Registriert seit: Mar 2010
Beiträge: 159
Du musst myNumber außerhalb des enterFrame deklarieren. Wenn du "var" davor schreibst wird sie jedesmal neu lokal in der Funktion deklariert.
Mr.Sunburn ist offline   Mit Zitat antworten
Alt 08-09-2011, 12:09   #4 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Zitat:
Zitat von chrisflasher Beitrag anzeigen
Obwohl der Hittest korrekt ausgeführt wird, hat diese Funktion leider keine Wirkung, der MC bewegt sich weiterhin, was mache ich falsch ?
Du deklarierst Deine Variable ja in onEnterFrame jedesmal wieder neu und belegst sie mit 1. Logisch, das die if-Bedingung, die direkt darauf folgt immer eintritt...

Du solltest also die Variable außerhalb des onEnterFrames deklarieren und statt dieser total veralteten onClipEvent-Syntax diese hier verwenden:
PHP-Code:
var myNumber:Number 1;
onEnterFrame = function() { 
   if (
myNumber == 1gremlin1._x -= 2;

__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!

Geändert von Martin Kraft (08-09-2011 um 12:10 Uhr)
Martin Kraft ist gerade online   Mit Zitat antworten
Alt 08-09-2011, 12:27   #5 (permalink)
Neuer User
 
Benutzerbild von chrisflasher
 
Registriert seit: Mar 2008
Beiträge: 98
Vielen Dank für die schnellen Antworten.
Hat alles reibungslos geklappt
__________________
Actionscript bringt mich eines Tages noch um ^^
chrisflasher ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
dieser... dieser... effekt... hmmmmmmm Tweenmaster Flash Einsteiger 1 24-11-2007 12:26
60% CPU Auslastung bei dieser Funktion warum? maestro Flash MX 2004 12 14-09-2004 09:01
Anti-Alias Funktion falsch dargestellt kingmauri Flash MX 2004 13 03-09-2004 08:14
dieser effekt wie????? F-Newbie 3D 3 27-01-2004 03:40
Rekursive Funktion ? Was läuft falsch ? borisp ActionScript 1 26 25-02-2002 18:46


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:58 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele