Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 30-12-2004, 11:01   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2004
Beiträge: 7
hittest - Aufgabe zu lösen

Hallo,

ich habe die Aufgabe folgenden Film zu erstellen:
Kann mir vielleicht jemand auf die Sprünge helfen? Das wäre super:

1. Eine Fliege soll mit den Pfeiltasten der Tastatur über Torten bewegt werden können. Bei Zusammentreffen soll die Torte verschwinden und die Fiege wachsen. Es gibt 4 Torten. Außerdem soll eine Anzeige darstellen, wieviele Torten es noch gibt. Und nach Verzehr der letzten Torte soll die Fliege platzen.

Mein Problem ist folgendes:

Zur wachsenden Fliege:

if (_root.fliege, hittest(_root.torte4)) {
setProperty(_root.torte4, _visible, 0);
setProperty(_root.fliege, _xscale, 210);
setProperty(_root.fliege, _yscale, 300);

Wenn ich es so löse, dann passiert es, daß die Fliege zuerst Torte 4 ist und
auf 210;300 wächst und danach vielleicht mit dem Fressen von Torte 1 wieder schrumpft, aber die Fliege soll ja kontinuierlich wachsen, unabhängig welche Torte zuerst. Wie löse ich es, so daß die Fliege jedesmal, wenn sie auf eine Torte (torte1, torte2, torte3, torte4) stößt, sich weiter z.b. um 20 % vergrößert.



2. anzeigetafel:
Wie drücke ich denn im Actionscript aus, daß ich jedesmal bei einem
bestimmten Ereignis von einer Variablen die Zahl "1" subtrahieren möchte?



3. Wie mache ich es am einfachsten, daß die Fliege zum Schluß platzt? Verknüpfe ich die Anzeigetafel mit der Fliege, sprich bei "0" no visible...


Viele viele Frage
Vielleicht habe ich Glück und jemand hilft mir hier weiter

Cheers Mrs McMen
McMen ist offline   Mit Zitat antworten
Alt 30-12-2004, 11:15   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
sich weiter z.b. um 20 % vergrößert.
Setz statt eines konstanten Zahlenwerts eine Variable und erhöhe die dann immer. Bspw.:
ActionScript:
  1. meineVergroesserung = 20;
  2. //bitte kein setProperty mehr, das ist total veraltet und schlecht lesbar
  3. //if(...)
  4. _root.fliege._xscale += meineVergroesserung;
Zu 2.: auch hier eine Variable hochzählen, z.B.
ActionScript:
  1. meineVariable --;

Zu 3.: eine Möglichkeit wäre, eine Animation (mit dem Platzen) über den Fliegen-MC zu legen und den Fliegen-MC mit removeMovieClip zu löschen, der MC muss dann aber auf einer dynamischen Tiefe von mind 0 liegen, also keine Bühnentiefe...

Ich empfehle dir weiterhin dringend, erst einmal die Flash-Basics in der Hilfe oder in einem guten Grundlagenbuch durchzuarbeiten...
  Mit Zitat antworten
Alt 30-12-2004, 12:07   #3 (permalink)
Neuer User
 
Registriert seit: Dec 2004
Beiträge: 7
Hallo Holger,

vielen Dank für die schnelle Hilfe. Ich werde mich dann mal in den Variablen versuchen.

Bzgl. "setproperty" - dieser Befehl wurde uns an der Virtuellen Hochschule Bayerns "beigebracht" ;
-->Sollte ich den Dozenten vielleicht darauf hinweisen, daß dieser Befehl nicht mehr so gern gesehen wird?

Ja, Du hast vollkommen recht, daß ich mir erst einmal die Basics noch einmal anschauen und vor allem durcharbeiten sollte.
--> Was hälst Du denn von den Seiten www.flashnuts.de für den den Anfang?

Bzgl. Deine Antwort auf Frage 3:
Das erscheint mir als Anfänger noch etwas Schwierig. Fällt Dir noch eine einfachere Lösung ein?

Vielen vielen herzlichen Dank für Deine Hilfe

Melanie
McMen ist offline   Mit Zitat antworten
Alt 30-12-2004, 12:15   #4 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
Zitat:
Bzgl. "setproperty" - dieser Befehl wurde uns an der Virtuellen Hochschule Bayerns "beigebracht" ;
-->Sollte ich den Dozenten vielleicht darauf hinweisen, daß dieser Befehl nicht mehr so gern gesehen wird?
schlimmer meinlieber...viel schlimmer...

erstens ist setproperty noch flash4 syntax, dass macht dann mittlerweile 3 generationen später.

zweitens arbeitet es nicht korrekt genug, wenn man mal von der syntaktischen seite absehen möchte.

drittens ist es im sinne der umstellung seit flash5 auf die sogenannte dot-syntax einfach nicht mehr konform.

du siehst also...dein dozent ist ein paar lichtjahre hinterher...

ein setProperty(eigenschaft, wert, bla)

wird heute einfach mit:

instanzname.eigenschaft = wert;

fest gelegt.
etc..etc..bla bla bla..

ich halte schulungen! wenn er will, kann er sich gerne bei mir melden.
für weiterbildungskräfte mach ich n sonderpreis..*gg*


greetz

kelor
kelor ist offline   Mit Zitat antworten
Alt 30-12-2004, 13:02   #5 (permalink)
Neuer User
 
Registriert seit: Dec 2004
Beiträge: 7
Hallo Kelor,

na das ist ja wirklich ein Ding.
ich werde ihm das Schulungsangebot mal nahelegen :-)

Gruß
Melanie
McMen ist offline   Mit Zitat antworten
Alt 30-12-2004, 13:27   #6 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
Was hälst Du denn von den Seiten www.flashnuts.de für den den Anfang?
Kann nicht geladen werden, Seite existiert anscheinend nicht...

Zitat:
Fällt Dir noch eine einfachere Lösung ein?
Das ist die einfache Lösung... Nein, ganz im Ernst: versuch dich an solchen Sachen erst, wenn du ein bisschen mehr Erfahrung hast, der Frustfaktor könnte sonst immens werden...

Und wenn man dir heute noch "setproperty" beibringt, solltest du dein Geld zurückverlangen und die Lehranstalt verklagen...
  Mit Zitat antworten
Alt 30-12-2004, 14:20   #7 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
Zitat:
Und wenn man dir heute noch "setproperty" beibringt, solltest du dein Geld zurückverlangen und die Lehranstalt verklagen...


recht haste holger..*gg*

greetz

kelor
kelor ist offline   Mit Zitat antworten
Alt 30-12-2004, 17:00   #8 (permalink)
Neuer User
 
Registriert seit: Dec 2004
Beiträge: 7
Zitat:
Zitat von agedoubleju
Kann nicht geladen werden, Seite existiert anscheinend nicht...
Sorry, ein Schreibfehler http://www.flashtuts.de/ heißt die Seite und wollte Dich fragen, ob Du die für einen Anfänger empfehlen würdest...

Das mit "setproperty" ist ja wirklich unglaublich und ich werde deshalb den Lehrbeauftragten bzw. die Anstalt tatsächlich daruaf hinweisen.

Vielen Dank nochmals für Eure Anregungen und die Tips
Mel
McMen ist offline   Mit Zitat antworten
Alt 30-12-2004, 18:08   #9 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
ich könnte fast wetten, dass das nicht der einzige mängel in sachen AS sein dürfte...




achja..wegen flashtuts.de*räusper*

letzte news ist vom oktober 2oo3...ne weile her.
und ich kannte die seite gar nicht..*koppkratz*


greetz

kelor

Geändert von kelor (30-12-2004 um 18:11 Uhr) Grund: Nachtrag
kelor ist offline   Mit Zitat antworten
Alt 30-12-2004, 18:31   #10 (permalink)
Neuer User
 
Registriert seit: Dec 2004
Beiträge: 7
Hmh,

die Fliege wächst jetzt leider unaufhörlich :-)))
Eigentlich soll sie doch nur 20 % wachsen :-)

Wie krieg ich das nur hin ?

onClipEvent (load) {
// einstellen der geschwindigkeit
speed = 5;
meineVergroesserung = 20;
}
onClipEvent (enterFrame) {
// bewege up, down, left, oder right
if (Key.isDown(Key.LEFT) && !Key.isDown(Key.RIGHT)) {
if (_root.fliege, hittest(_root.wandlinks)) {
// nix
} else {
_x -= speed;
_rotation = 0;
}
}
if (Key.isDown(Key.RIGHT) && !Key.isDown(Key.LEFT)) {
if (_root.fliege, hittest(_root.wandrechts)) {
// nix
} else {
_x += speed;
_rotation = 0;
}
}
if (Key.isDown(Key.UP) && !Key.isDown(Key.DOWN)) {
if (_y<112) {
_y = 120;
} else {
_y -= speed;
_rotation = 0;
}
}
if (Key.isDown(Key.DOWN) && !Key.isDown(Key.UP)) {
if (_root.fliege, hittest(_root.wandunten)) {
// nix
} else {
_y += speed;
_rotation = 0;
}
}


// fisch frisst fliege
if (_root.fliege, hittest(_root.torte1)) {
_root.torte1._visible = false;
_root.fliege._xscale = 1.2;

}

if (_root.fliege, hittest(_root.torte2)) {
_root.torte2._visible = false;
_root.fliege._xscale = 1.2;
}

if (_root.fliege, hittest(_root.torte3)) {
_root.torte3._visible = false;
_root.fliege._xscale = 1.2;
}
if (_root.fliege, hittest(_root.torte4)) {
_root.torte4._visible = false;
_root.fliege._xscale = 1.2;
}



Vielen Dank für einen Tip
Gruß Mel
McMen ist offline   Mit Zitat antworten
Alt 30-12-2004, 18:35   #11 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
setz das mal in as -zeichen rein, damit man das lesen kann...

also
vor dem script
[ AS ]

und am ende

[ /AS ]

ohne leerzeichen zwischen den klammern


greetz

kelor
kelor ist offline   Mit Zitat antworten
Alt 30-12-2004, 19:00   #12 (permalink)
Neuer User
 
Registriert seit: Dec 2004
Beiträge: 7
(AS)
onClipEvent (load) {
// einstellen der geschwindigkeit
speed = 5;
meineVergroesserung = 20;
}
onClipEvent (enterFrame) {
// bewege up, down, left, oder right
if (Key.isDown(Key.LEFT) && !Key.isDown(Key.RIGHT)) {
if (_root.fliege, hittest(_root.wandlinks)) {
// nix
} else {
_x -= speed;
_rotation = 0;
}
}
if (Key.isDown(Key.RIGHT) && !Key.isDown(Key.LEFT)) {
if (_root.fliege, hittest(_root.wandrechts)) {
// nix
} else {
_x += speed;
_rotation = 0;
}
}
if (Key.isDown(Key.UP) && !Key.isDown(Key.DOWN)) {
if (_y<112) {
_y = 120;
} else {
_y -= speed;
_rotation = 0;
}
}
if (Key.isDown(Key.DOWN) && !Key.isDown(Key.UP)) {
if (_root.fliege, hittest(_root.wandunten)) {
// nix
} else {
_y += speed;
_rotation = 0;
}
}


// fisch frisst fliege
if (_root.fliege, hittest(_root.torte1)) {
_root.torte1._visible = false;
_root.fliege._xscale *= 1.2;

}

if (_root.fliege, hittest(_root.torte2)) {
_root.torte2._visible = false;
_root.fliege._xscale *= 1.2;
}

if (_root.fliege, hittest(_root.torte3)) {
_root.torte3._visible = false;
_root.fliege._xscale *= 1.2;
}
if (_root.fliege, hittest(_root.torte4)) {
_root.torte4._visible = false;
_root.fliege._xscale *= 1.2;
}
(/AS)
McMen ist offline   Mit Zitat antworten
Alt 30-12-2004, 20:04   #13 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
wenn du nun den beitrag editierst und die runden klammern um die AS in eckige umwandelst, kann man ´s auch lesen...





greetz

kelor
kelor ist offline   Mit Zitat antworten
Alt 30-12-2004, 20:14   #14 (permalink)
funkdisziplin
 
Registriert seit: Jul 2003
Beiträge: 2.790
das haut mich immer wieder von neuem um – macht man [-ige Klammern um sowas wie "AS" wirds aufeinmal formatiert und ganz bunt... echte wunderwelt
derdiedas ist offline   Mit Zitat antworten
Alt 30-12-2004, 22:07   #15 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
Eigentlich soll sie doch nur 20 % wachsen :-)
Setz vor die Skalierungsanweisungen noch eine if-Abfrage, z.B.
ActionScript:
  1. if(_root.fliege._xscale < 120){
  2.    _root.fliege._xscale *= 1.2;
  3. }
Und ich würde den Skalierungswert auch immer runden, bspw. mit Math.round(), könnte sonst unschöne Effekte geben.
  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



Alle Zeitangaben in WEZ +1. Es ist jetzt 16:19 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele