Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 18-06-2004, 08:55   #1 (permalink)
Neuer User
 
Registriert seit: Jun 2004
Beiträge: 9
Question Tastatursteuerung

Hallo Leute!

Ich möchte mir gerne ein kleines Snake-Spiel programmieren, habe erstmal einen Punkt, den kann ich schon mit der Tastatur steuern, also über die Pfeiltasten. Wenn ich rechts drücke, bewegt es sich ein Stückchen nach links, etc. ..

Soo, nun will ich aber das dieses blöde Ding nicht nur einen kleinen Schritt nach rechts macht, sondern nach drücken einer Richtungstaste sich stetig in diese Richtung bewegt, bis ich die Richtung wieder per Tastendruck ändere, wie mache ich so etwas? Mit einer Schleife?

So sieht es zur Zeit aus:

onClipEvent (enterFrame) {
if (Key.isDown(37)) {
_x=_x-2;
}
if (Key.isDown(38)) {
_y=_y-2;
}
if (Key.isDown(39)) {
_x=_x+2;
}
if (Key.isDown(40)) {
_y=_y+2;
}
}
pumpitup ist offline   Mit Zitat antworten
Alt 18-06-2004, 09:20   #2 (permalink)
The Man Who Wasn't There
 
Benutzerbild von fraggle two
 
Registriert seit: Jul 2003
Ort: BÄRLIN
Beiträge: 1.156
hi,

also wenn es sich immer bewegen soll mußt du durch die tasteneingabe eigentlich nur das vorzeichen ändern...

PHP-Code:
onClipEvent (load) {
    
xRichtung = -2;
}
onClipEvent (enterFrame) {
    
_x _x+xRichtung;
    
_y _y+yRichtung;
    if (
Key.isDown(37)) {
        
xRichtung = -2;
        
yRichtung 0;
    }
    if (
Key.isDown(38)) {
        
yRichtung = -2;
        
xRichtung 0;
    }
    if (
Key.isDown(39)) {
        
xRichtung = +2;
        
yRichtung 0;
    }
    if (
Key.isDown(40)) {
        
yRichtung = +2;
        
xRichtung 0;
    }


gruß
mike
__________________
Dot-Realities
Mike Broders
Berlin

ICQ:105925103

Dot-Realities v4.0 under construction!
fraggle two ist offline   Mit Zitat antworten
Alt 18-06-2004, 09:33   #3 (permalink)
Neuer User
 
Registriert seit: Jun 2004
Beiträge: 9
Aaaaah Vielen Dank, so werde ich es heute Mittag mal ausprobieren, dann bewegt sich das Ding endlich mal

Danke,

Pump
pumpitup ist offline   Mit Zitat antworten
Alt 23-07-2004, 13:36   #4 (permalink)
Neuer User
 
Registriert seit: Jun 2004
Beiträge: 21
Hallo ich hab hier auch eine Frage da ich auch ein Snake Spiel machen wollte.

Bislang hatte ich folgenden Code in einem leerem Frame:


PunkteStart = 0;
punktfeld = PunkteStart;
bewegung = new Object ();
bewegung.onKeyDown = function () {
if (Key.isDown(Key.RIGHT)) {
_root.ego._x+=10;
}
if (Key.isDown(Key.LEFT)) {
_root.ego._x-=10;
}
if (Key.isDown(Key.UP)) {
_root.ego._y-=10;
}
if (Key.isDown(Key.DOWN)) {
_root.ego._y+=10;
}
if (ego.hitTest (pkt)) {
Kreisx = Math.round(Math.random()*500+1);
Kreisy = Math.round(Math.random()*350+1);
pkt._x = Kreisx;
pkt._y = Kreisy;
PunkteNeu = Number(PunkteStart) + 1;
PunkteStart = PunkteNeu;
punktfeld = PunkteNeu;
BreiteEgo = ego._xscale;
ego._xscale = Number(BreiteEgo) + 20;
}
if (ego.hitTest(hinder)) {
PunkteStart = 0;
punktfeld = 0;
ego._xscale = 30;}
}
Key.addListener(bewegung);


allerdings bewegt sich meine ego hier nicht automatisch. Wenn ich nun das o.g. Script auf mein mc ego lege bewegt sich dieser zwar automatisch aber
dafür funktionieren die hitTests nicht mehr und die Punkte funktionieren auch nicht mehr...

Hat mir jemand ne Idee oder Lösung? Danke.

Edit: Warum wird mein Code nich so toll angezeigt wie bei den anderen...?

Geändert von Kawum (23-07-2004 um 13:38 Uhr)
Kawum ist offline   Mit Zitat antworten
Alt 25-07-2004, 13:04   #5 (permalink)
Neuer User
 
Registriert seit: Jun 2004
Beiträge: 21
keiner?
Kawum ist offline   Mit Zitat antworten
Alt 25-07-2004, 13:12   #6 (permalink)
Flash-holic
 
Benutzerbild von DeMoehn
 
Registriert seit: Nov 2003
Ort: Neunkirchen(Saar)
Beiträge: 988
ActionScript:
  1. if(code == "schlecht") {
  2. game = flase
  3. steuerung ="beschissen"
  4. }
meinste sowas?
Naja. ich gucks mir ma an. Sieht aber komisch aus. werd ma drüber gehn. Und wenn du den farbigen Code willst. danne infach []<-- darein AS schreiben und dann den Code und dann []<--- darein /AS schreiben
EDIT:
ActionScript:
  1. PunkteStart = 0;
  2. punktfeld = PunkteStart;
  3. xPos = 0;
  4. yPos = 0;
  5. ego.onEnterFrame = function() {
  6.     this._x += xPos;
  7.     this._y += yPos;
  8.     if (Key.isDown(Key.RIGHT)) {
  9.         if (xPos != 18 && xPos != -18) {
  10.             xPos += 18;
  11.             yPos = 0;
  12.             this._rotation = 90;
  13.         }
  14.     }
  15.     if (Key.isDown(Key.LEFT)) {
  16.         if (xPos != -18 && xPos != 18) {
  17.             xPos -= 18;
  18.             yPos = 0;
  19.             this._rotation = -90;
  20.         }
  21.     }
  22.     if (Key.isDown(Key.UP)) {
  23.         if (yPos != -18 && yPos != 18) {
  24.             xPos = 0;
  25.             yPos -= 18;
  26.             this._rotation = 180;
  27.         }
  28.     }
  29.     if (Key.isDown(Key.DOWN)) {
  30.         if (yPos != 18 && yPos != -18) {
  31.             xPos = 0;
  32.             yPos += 18;
  33.             this._rotation = 0;
  34.         }
  35.     }
  36.     if (this.hitTest(pkt)) {
  37.         Kreisx = Math.round(Math.random()*500+1);
  38.         Kreisy = Math.round(Math.random()*350+1);
  39.         pkt._x = Kreisx;
  40.         pkt._y = Kreisy;
  41.         PunkteNeu = Number(PunkteStart)+1;
  42.         PunkteStart = PunkteNeu;
  43.         punktfeld = PunkteNeu;
  44.         BreiteEgo = this._yscale;
  45.         this._yscale = Number(BreiteEgo)+20;
  46.     }
  47.     if (this.hitTest(hinder)) {
  48.         PunkteStart = 0;
  49.         punktfeld = 0;
  50.         this._yscale = 30;
  51.     }
  52. };
so. habs ma so gemacht. bewegt sich wien snake.
allerdings is das mit dem _yscale/_xscale erweitern beschissen. beim snake isses ja anders
__________________
Wer Großes versucht, ist bewunderswert, auch wenn er fällt.
Lucius Annaeus Seneca
(ca. 4 v. Chr - 65 n. Chr.)



Geändert von DeMoehn (25-07-2004 um 13:33 Uhr)
DeMoehn ist offline   Mit Zitat antworten
Alt 25-07-2004, 21:47   #7 (permalink)
Neuer User
 
Registriert seit: Jun 2004
Beiträge: 21
Hey danke. Naja, bin noch nich so der Flashpro, vermutlich is mein Code deswegen so sch****

Werds morgen gleich testen. Nochmal danke
Kawum 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 09:44 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele