Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-07-2004, 13:56   #1 (permalink)
Angsthase
 
Benutzerbild von royal_flash
 
Registriert seit: Jun 2001
Ort: Kölle
Beiträge: 591
Spiel - Performance=nichtSpielbar

Hallo Forum,

ich arbeite atm an einem Spiel - jetzt hab ich es im beta Zustand mal in den Sitecheck bzw. heißt jetzt ja checkpoint gestellt - und es ist rausgekommen was ich erwartet hatte ... der Grundtenor ist: nicht spielbar wegen zu lauer performance ...

Tja jetzt würde ich gerne rausfinden woran es liegt und das korregieren ...

Hier erstmal der LINK

...also aufällig ist das die performance down geht sobald man die Spielfigur bewegt ... (pfeiltasten) mit folgendem script bewege ich das Teil:
PHP-Code:
onClipEvent (load) {
    
_root.fallen();
    
_root.speed=15;
    
0;
}
onClipEvent (enterFrame) {
    if (
Key.isDown(Key.LEFT) && this._x>=60) {
        
this._xscale 100;
        
this.spielfigur_animation.play();
        
this._x this._x-Number(_root.speed);
    } else if (
Key.isDown(Key.RIGHT) && this._x<=740) {
        
this._xscale = -100;
        
this.spielfigur_animation.play();
        
this._x this._x+Number(_root.speed);
    } else if (
Key.isDown(Key.UP)) {
        
b+1;
        
_root.bubble.duplicateMovieClip("bubble" add bb);
        
_root["bubble" add b].treffer.instanzNummer b;
        if (
_root.spielfigur._xscale eq 100) {
            
_root["bubble" add b]._x _root.spielfigur._x+47;
            
_root["bubble" add b]._y _root.spielfigur._y-7;
            
_root["bubble" add b].ziel = -50;
        } else if (
_root.spielfigur._xscale eq -100) {
            
_root["bubble" add b]._x _root.spielfigur._x-47;
            
_root["bubble" add b]._y _root.spielfigur._y+7;
            
_root["bubble" add b].ziel = -50;
        }
    }

kann man das einkürzen ... bzw. ist das falsch es so zumachen ??? geht das anders besser ???

Dann fallen ja ständig Sachen vom Himmel - Eier und Vögel

Fallender Vogel:
PHP-Code:
onClipEvent (load) {
    
this.orgPos=_y;
    
instanzNummer=2;
}
onClipEvent (enterFrame) {
    if (
this._y<this.ziel) {
        
this._y+=5;
    }
    if (
this.hitTest(_root.boden)) {
        
this._alpha=0;
        
this.ziel=0;
        
this._y=0;
        
_root.store.splice(_root.loeschen,1);
        
_root["vogelUnterwegs" add instanzNummer]="DEAD";
        
_root.fressen1.gotoAndPlay(2);
        
_root.fallen();
    }

Fallendes Ei:
PHP-Code:
onClipEvent (load) {
    
this.instanzNR=9;
    
this.orgPos=_y;
    
this.orgPosX=_x;
    
this.ziel=this.orgPos;
}
onClipEvent (enterFrame) {
    if (
this._y<this.ziel) {
        
this._y+=10;
    }
    if (
this.hitTest(_root.boden2)) {
        
this.ziel=this.orgPos;
        
this._y=this.orgPos;
        
this._x=this.orgPosX;
    }

so hoffe das jemanden was einfällt

thx & so long royal
royal_flash ist offline   Mit Zitat antworten
Alt 16-07-2004, 14:19   #2 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
also onEnterFrame frisst immer viel performance. vielleicht solltest du doch eher für flash 6 proggen. dann kannste nähmlich bequem einen keylistener benutzen:

PHP-Code:

    keyListener 
= new Object();
    
keyListener.onKeyDown = function () {
        if (
Key.isDown(Key.LEFT) ) {
              
        }
        else 
            if (
Key.isDown(Key.UP)) {
                
                
// bubbles
            
}
    };
    
Key.addListener(keyListener); 
und bei den ganzen objekten isses für n 5er player echt ne menge zu tun
__________________
www.madflanderz.de

ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°` _ addicted to bass _ `°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø
madflanderz ist offline   Mit Zitat antworten
Alt 16-07-2004, 14:55   #3 (permalink)
Angsthase
 
Benutzerbild von royal_flash
 
Registriert seit: Jun 2001
Ort: Kölle
Beiträge: 591
Hmmmm ... Problem ist ich muss Flash5 benutzen

Wie sieht das mit prototyp aus ? kann man sowas in diesem fall einsetzen .. wenn ja wie ? - diese geschichte mit dem prototype hab ich noch nicht begriffen ...

royal
royal_flash ist offline   Mit Zitat antworten
Alt 16-07-2004, 15:23   #4 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
mit prototype kannst du einer AS-klasse neue Methoden und Attribute verpassen, die dann in ALLEN instanzen einer klasse zur verfügung stehen.

z.b.

MovieClip.prototype.meineFunktion = function() {
trace(meine funktion);
}

_root.createEmptyMovieClip("mc",1);
_root.mc.meineFunktion();


allerdings sehe ich darin KEINE lösung für dein problem. du hast schlichtweg VIELZUVIELE objekte da rumzufliegen die wie auch jemand in deinem anderen thread meinte auch noch alpha benutzten. räum mal bischen auf. du mußt ja auch nicht immer gleich 20-30 bubbles abschießen sondern meinetwegen nur 2 pro sekunde oder so.
__________________
www.madflanderz.de

ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°` _ addicted to bass _ `°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø
madflanderz ist offline   Mit Zitat antworten
Alt 16-07-2004, 16:38   #5 (permalink)
flachzange
 
Benutzerbild von elias
 
Registriert seit: Jun 2003
Ort: berlin
Beiträge: 3.932
PHP-Code:
onClipEvent (enterFrame) {
    if (
Key.isDown(Key.LEFT) && this._x>=60) {
        
this._xscale 100//*********
        
this.spielfigur_animation.play(); //*********
        
this._x this._x-Number(_root.speed);
    } else if (
Key.isDown(Key.RIGHT) && this._x<=740) {
        
this._xscale = -100//*********
        
this.spielfigur_animation.play(); //*********
        
this._x this._x+Number(_root.speed);
    } else if (
Key.isDown(Key.UP)) {
  [...] 
die sachen mit den sternchen kommentaren solltest du nicht jedes mal
ausführen weil sie ja nur bei einem richtungswechsel wirklich relevant
sind.
du solltest du clips auch nicht auf alpha setzen, sodern ausserhalb
der films positionieren.

nur mal so was mir direkt auffält

//edit
am besten solltest du das ganze so umbauen das du möglichst nur
ein enterFrame event hast. genaue tipps kann ich dir aber nicht
geben weil ich nie was mit flash5 gemacht hab
__________________

Geändert von binary blade (16-07-2004 um 16:40 Uhr)
elias ist offline   Mit Zitat antworten
Alt 18-07-2004, 00:40   #6 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Meistens ist es die Grafik, die auf die Performance geht, und nicht das Script.
Besonders teuer sind alpha-Effekte wie z.B. die Blasen bei dem roten Teufel. Wenn die auftauchen, kann man richtig sehen, dass das Spiel langsamer wird.
Das gleiche gilt für aufwendige Vektorgrafiken. Wenn du das Spiel nicht gross skalieren willst, kannst du sicher für viele Sachen Bitmaps einsetzen.

Schönes Spiel,
mfg .r
bokel 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 10:02 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele