Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 07-04-2009, 09:31   #1 (permalink)
Neuer User
 
Registriert seit: Mar 2009
Beiträge: 42
Jump 'N' Run Game

Ich habe ein Jump 'N' Run Spiel programmiert. Jetzt besteht das Problem aber darin, dass wenn ich einen Feind berühre, ich entweder sterben oder ihn töten und dabei 2 Coins bekommen soll. Wenn ich den Feind treffe bekomm ich immer zwei Leben abgezogen und 4 Coins, also berühre ich ihn wahrscheinlich zweimal. Kann mir wer helfen.
Hier der Code Ausschnitt:
PHP-Code:
onClipEvent (enterFrame) {
    if (
this.kopf.hitTest(_root.circle)) {
        
_root.coins _root.coins+2;
        
trace("2 coins");
        
this.gotoAndStop("die");
        
_root.circle.jump 15;
    }
    else if (
this.body.hitTest(_root.circle)) {
        
_root.lives _root.lives-1;
        
trace("you died !");
        
_root.gotoAndPlay("level1");
    } 
    else if (
_root.lives<=0) {
        
_root.gotoAndPlay("gameover");
    }

Und hier die Fla, swf :
http://flash.djk4ever.de/Jump'N'Run/

Das ActionScript steht im 1.Level auf den Violetten MovieClip.

PS: Manchmal passiert auch beides gleichzeitig also ich bekomm ein Leben abgezogen und Coins.

Geändert von mikescho (07-04-2009 um 10:00 Uhr)
mikescho ist offline   Mit Zitat antworten
Alt 07-04-2009, 09:39   #2 (permalink)
Flashworker
 
Benutzerbild von sebastian
 
Registriert seit: Nov 2001
Ort: Wiesbaden
Beiträge: 10.945
Zitat:
// end else if
Was ist das? Überreste des Decompilers?


Aber ein Jump and Run sollte man auch nicht auf solchen Hittest abfragen
aufbauen.

Vielleicht ist die Seite ganz interessant für dich:
http://www.tonypa.pri.ee/tbw/
sebastian ist offline   Mit Zitat antworten
Alt 07-04-2009, 10:04   #3 (permalink)
Neuer User
 
Registriert seit: Mar 2009
Beiträge: 42
was für nen decomplirer ich hab den code aus einen buch welches ich mir gekauft habe. Da stand auch immer //end else if. Ich dachte das gehört dazu. Wäre auch gut wenn mrir jemand bei den jetztigen Code helfen würde habe kein Lust den nochmal neu zu schreiben. War nämlich ne richtig viel arbeit mir das Thema (Buch 367 Seiten) durchzulesen und anzueignen. Jetzt möchte ich erstmal Ergebnisse sehen, dass es sich auch gelohnt hat. Und dannach kann man weiter schauen.

Du hast aber recht die Seite ist wirklich interessant, aber ich mach erst dieses Spiel fertig und dann arbeite ich mich durch die Seite.

Geändert von mikescho (07-04-2009 um 17:24 Uhr)
mikescho ist offline   Mit Zitat antworten
Alt 07-04-2009, 17:28   #4 (permalink)
Neuer User
 
Registriert seit: Mar 2009
Beiträge: 42
Das Problem mit den Doppelten Coins wäre gelöst, aber jetzt tritt ein neues auf. Ich möchte, dass mein Charakter wenn er den Feinde auf den Kopf spring sie tötet, das macht er auch. Aber wenn ich ihn 3 hinter einandere, ohne den Boden zu berühren, töten lassen möchte. Stirbt er am dritten, obwohl er ihn auch auf den Kopf spring.

Quelldatein sind die gleichen wie oben

Hier der Code vom Charakter
PHP-Code:
onClipEvent (load)
{
    
kd false;
    
= new Sound(this);
    
j.attachSound("smb3_jump.wav");
    
fall false;
    
setProperty(""_name"circle");
    
jump 0;
    
speed 6;
    
jumpheight 11;
    
maxfall = -54;
}
onClipEvent (keyUp)
{
    if (!
Key.isDown(32))
    {
        
kd false;
    }
}
onClipEvent (enterFrame)
{
    
xmin getBounds(_root).xMin;
    
xmax getBounds(_root).xMax;
    
ymin getBounds(_root).yMin;
    
ymax getBounds(_root).yMax;
    if (
Key.isDown(32) && fall == false && jump == undefined && kd == false)
    {
        
kd true;
        
j.start();
        
fall true;
        
jump jumpheight;
    } 
    if (
jump != undefined)
    {
        if (
jump maxfall)
        {
            --
jump;
        } 
        
setProperty(""_y_y jump);
    }
}
onClipEvent (enterFrame)
{
    if (
Key.isDown(37))
    {
        
walk true;
        
setProperty(""_x_x speed);
        if (
_xscale == 100)
        {
            
setProperty(""_xscale, -100);
        } 
    }
    else if (
Key.isDown(39))
    {
        
walk true;
        
setProperty(""_x_x speed);
        if (
_xscale == -100)
        {
            
setProperty(""_xscale100);
        } 
    }
    else
    {
        
walk false;
    } 
    if (
fall == true)
    {
        
this.gotoAndStop("jump");
    }
    else if (
walk == true)
    {
        
this.gotoAndStop("walk");
    }
    else
    {
        
this.gotoAndStop("stand");
    } 

und der Code vom Feind
PHP-Code:
onClipEvent (enterFrame) {
    if (
_root.feind_lvl7_2.feind_lvl7_head_2.hitTest(_root.circle)) {
        
this.gotoAndPlay("die");
        
_root.circle.jump 12;
    } else if (
_root.feind_lvl7_2.feind_lvl7_body.hitTest(_root.circle)) {
        
_root.lives _root.lives-1;
        
trace("you died !");
        
_root.gotoAndPlay("level7");
    } else if (
_root.lives<=0) {
        
_root.gotoAndPlay("gameover");
    }
    

PS: Das Problem befindet sich in Level 7

Geändert von mikescho (07-04-2009 um 17:38 Uhr)
mikescho 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



Alle Zeitangaben in WEZ +1. Es ist jetzt 17:35 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele