tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
365
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Jan 2003
    Ort
    wien
    Beiträge
    193
    Hallo!

    Leider habe ich nirgends die Antowrt auf folgende Frage gefunden, daher stelle ich sie jetzt hier:

    Ich möchte ein kleines Spiel programmieren, bei dem man kleine Kreuzchen setzten muss.
    Treffen die Kreuzchen auf ein vordefiniertes Feld so werden Punkte vergeben. Pro richtigem Feld werden 10 Punkte dazu addiert.
    Setzt man ein Kreuzchen auf einen Punkt wo kein Feld vordefiniert wurde, dann werden einem Lebenspunkte abgezogen.
    Die Lebenspunkte sind ein eigener Movieclip in dem ein Balken über 40 Frames von x=100 auf x = 0 gezogen wird. Mit jedem falschen klick möchte ich nun um 5 Frames in diesem Movieclip ("leben") weiterspringen.
    Leider bekomme ich das nicht auf die Reihe.
    Mein Code sieht momentan so aus:

    PHP-Code:
    this.onEnterFrame = function() {
        var 
    test 0;
        var 
    punkte 0;
        var 
    zaehler 0;
        
    // im Movieclip Leben die Punkte schreiben
        
    leben.punktenr.text punkte;
        
        
    // Bei Release auf dem Hauptmovieclip der ein Objekt enthält solls nun losgehen.
        
    zeitungen.onRelease = function() {
        
    // Maximal 8 mal darf danebengeklickt werden. Dann ist Game Over
    if(zaehler 8)
        {
    // Kreuz bekommt koordinaten und wird sichtbar
        
    ex._x _xmouse;
        
    ex._y _ymouse;
        
    ex._alpha 100;
        
        
            
    zaehler++;
    // Wenn danebengeklickt im Movieclip weiterspringen, damit der Balken kleiner wird
            
    var springe zaehler 5;
            
            if(
    ex.hitTest(fehler1) == false)
            {
                
    leben.gotoAndStop(springe);

            }
        }
        else 
        { 
    trace("you lost");
        }}
        
    loop();
        

    Weiters habe ich noch die Frage, wie ich das Kreuzchen vervielfälltigen kann und von jedem einzelnen die Position bestimme.

    Danke schon jetzt, mfg Flo
     

  2. #2
    Registriert seit
    Jun 2004
    Ort
    Zürich
    Beiträge
    1.359
    Blog-Einträge
    8
    Hallo,


    probier den "leben"-MovieClip in der onRelease-Funktion mal so zu referenzieren:
    Code :
    1
    
    this._parent.leben

    Ausserdem würd ich bleibende Variablen, wie z.B. "punkte" ausserhalb der onEnterFrame-Schlaufe definieren, weil sie so nämlich erstens lokal sind und zweitens bei jedem Loop auf null gesetzt werden.

    MovieClips zu Laufzeit vervielfältigen kannst du, indem du den MovieClip für AS exportierst und mit attachMovie auf die Bühne holst, oder indem du ihn mit duplicateMovieClip kopierst.


    gruss
     

  3. #3
    Registriert seit
    Jan 2003
    Ort
    wien
    Beiträge
    193
    Super, danke, dass hilft mir schonmal sehr weiter.
    Das Problem ist nur, dass ich die Variablen nicht bei jedem Loop wieder auf Null haben will, sondern, dass sie den neuen Wert behalten sollen. (Damit die Punkte und das Leben fortlaufen)
     

  4. #4
    Registriert seit
    Jun 2004
    Ort
    Zürich
    Beiträge
    1.359
    Blog-Einträge
    8
    Hallo,


    dann musst du sie, wie oben erklärt, ausserhalb der onEnterFrame-Schlaufe definieren:


    Code :
    1
    2
    3
    4
    5
    6
    7
    
    var test = 0;
    var punkte = 0;
    var zaehler = 0;
     
    this.onEnterFrame = function() {
            //usw
    }
    Zwei kleiner Tipps:

    1.
    Wenn du in einer onRelease-Funktion Variablen ohne Präfix (this, _root etc.) referenzierst, wird in der Mehrheit der Fälle von der Zeitleiste des MovieClip ausgegangen, auf dem die onRelease-Funktion ausgeführt wird. Wenn du nun also auf der Hauptzeitleiste die Variable "zaehler" definierst, die onRelease-Funktion aber auf dem "zeitungen"-MovieClip ausgeführt wird, ist die Variable "zaehler" dort nicht zwingend verfügbar! Mit this._parent fährst du auf der sicheren Schiene.


    2.
    Auch die onRelease-Funktion musst du nicht onEnterFrame definieren .
    gruss
     

  5. #5
    Registriert seit
    Jan 2003
    Ort
    wien
    Beiträge
    193
    Ok, super, danke!
    Werd mir das mal zu herzen nehmen und daran weiterarbeiten. Melde mich wieder
     

Ähnliche Themen

  1. InDesign CS3: Herstellen von Katalogen: fortlaufendes Design
    Von bhsmail im Forum Desktop Publishing (DTP)
    Antworten: 1
    Letzter Beitrag: 17.10.07, 10:08
  2. gotoAndStop() und getURL(Javascript) funktionieren nicht [Flash 8]
    Von Rainer-Bekannter im Forum Flash Plattform
    Antworten: 23
    Letzter Beitrag: 13.02.07, 20:16
  3. gotoandstop -> Funktioniert irgendwie nicht?
    Von wavetraxx im Forum Flash Plattform
    Antworten: 5
    Letzter Beitrag: 10.11.06, 12:44
  4. gotoAndPlay(x) -> gotoAndStop(y)
    Von matthiasschnueriger im Forum Flash Plattform
    Antworten: 2
    Letzter Beitrag: 15.11.05, 21:08
  5. gotoAndStop will nicht mit variable?
    Von He||cow im Forum Flash Plattform
    Antworten: 2
    Letzter Beitrag: 07.02.02, 08:51