Flashhilfe.de - Flash Community

Ping Pong Spiel [Flash 11]

 


AntwortenRegistrieren Seite1  

s.Woelfchen#1
Benutzerbild von s.Woelfchen
Beiträge: 20
Registriert: Dec 2011

14.12.2011, 14:15

Hallo, ich bin absoluter Neuling in Flash und mache gerade die ersten Schritte im Programmieren. Mein Prof hat mir bis morgen eine Hausaufgabe gegeben, die wiefolgt lautet:

grafisch hochwertiges Pong / Breakout spiel
Mit:
- Menu (Einleitung, starten, gameover / Retry, Gamescreen)
- Geschwindigkeit des Balls verändern / Menge der Bälle verändern
- Punkte für Gewinne / Verluste vergeben und anzeigen
- Kolissionen
- Interaktionsmöglichkeiten um Instanzen zu erstellen (Ball, Paddle, Hindernisse, Edelsteine)
- verschiedene Levels
- Tastatur und Mausevents

Tjoah... nun weiss ich nicht wirklich, wie ich Anfangen soll. Ich versuche jetzt anhand von Tutorials weiter zu kommen, aber ich habe noch keins gefunden dass alle Ansprüche drin hat. Wisst ihr ein gutes Tutorial? Ansonsten stell ich hier einfach meine Fragen, wenn ich nicht weiter komme, vielleicht könnt ihr mir ja dann ein bisschen unter die Arme Greifen.
Schlagwörter: PingPong, Spiel
cedddy#2
Benutzerbild von cedddy
Beiträge: 572
Registriert: May 2007

14.12.2011, 15:40

Hast du denn vorwissen aus anderen Programmier sprachen oder bist du ein kompletter neuling ?
Bitte keine pn´s wegen irgendwelchen fragen zu Threads, dafür gibt es sie ja schließich
s.Woelfchen#3
Benutzerbild von s.Woelfchen
Beiträge: 20
Registriert: Dec 2011

Themenautor/in

14.12.2011, 15:49

Wir hatten letztes Semester PHP und haben da Datenbankanbindungen und so Zeug gemacht aber da ist nicht sehr viel hängen geblieben.

Bis jetzt hab ichs geschafft *hust* dass ich einen Balkenhabe den ich mit der Tastatur hin und herbewegen kann. Jetzt bin ich gerade dabei den Ball zu machen, das erscheint mir aber ein bisschen schwieriger... Da brüchte ich ja zwei Abfragen einmal den y-Wert am oberen Bildschirmrand und einmal eine Berührung mit meinem Balken. Und dann muss der auch noch im richtigen Winkel abprallen. Ich glaub das schaff ich nicht mehr bis morgen...
Geändert von s.Woelfchen am 14.12.11 um 15:51 Uhr
skoda#4
Benutzerbild von skoda
Beiträge: 1189
Wohnort: Boston MA
Registriert: Feb 2006

14.12.2011, 21:09

also bis morgen das kann ja nicht sein - das dauert ne woche um n grafisch hochwertiges zu produzieren oder gerade erst auf den kalender geschaut
no one died when clinton lied
s.Woelfchen#5
Benutzerbild von s.Woelfchen
Beiträge: 20
Registriert: Dec 2011

Themenautor/in

14.12.2011, 21:53

Ne, wir haben immer so wenig Zeit bei dem Professor. Ich bin jetzt immerhin soweit dass der Ball an den Wänden und an dem Schieber abprallt, dass die Punkte gezählt werden (tut er aber noch nicht) und dass man die Geschwindigkeit ändern kann. Mehr schaff ich bis morgen nicht, hatte ja auch noch anderes zu tun, aber so gehts nicht nur mir. Muss ichs halt irgendwie nachreichen.

Könnt ihr mir sagen, wie ich eine Variable in einem dynamischen Textfeld ausgebe? Das hat bisher nicht geklappt.
Geändert von s.Woelfchen am 14.12.11 um 21:55 Uhr
Kerstin77#6
Benutzerbild von Kerstin77
Beiträge: 1004
Registriert: Jul 2008

14.12.2011, 22:22

ActionScript:
1
2
3
4
5
6
7
// Numerische Werte
var var1:Number = 10;
textfeld_txt.text = String(var1);

// Strings
var var2:String = "Hallo";
textfeld_txt.text = var2;


Grüße,
Kerstin
Wer Rechtschreibfehler findet, darf sie gerne behalten.
s.Woelfchen#7
Benutzerbild von s.Woelfchen
Beiträge: 20
Registriert: Dec 2011

Themenautor/in

15.12.2011, 06:50

Und was muss ich auf die Bühne machen? =)
ashitaka#8
Benutzerbild von ashitaka
Beiträge: 161
Registriert: Apr 2010

15.12.2011, 08:40

Ein Textfeld mit namen "textfeld_txt" :)

toller prof ;)
Zeitleisten-Programmierung ist böse! löst euch von der Zeitleiste -> benutzt Flashdevelop!
Antworten auf Flash AS3 Fragen.
Flash Programmierer
s.Woelfchen#9
Benutzerbild von s.Woelfchen
Beiträge: 20
Registriert: Dec 2011

Themenautor/in

15.12.2011, 09:03

Jey also Geschwindigkeit ausgeben tut er nun auch, es wird langsam. Das mit den Treffern zählen tut noch nicht. Aber da grübel ich noch ein wenig.
Geändert von s.Woelfchen am 15.12.11 um 09:03 Uhr
s.Woelfchen#10
Benutzerbild von s.Woelfchen
Beiträge: 20
Registriert: Dec 2011

Themenautor/in

17.12.2011, 19:10

Habe ein Problem mit meinem oberen mausgesteuerten Paddle:

Wenn der vom Ball getroffen wird gibt er ungefär 50 mal aus dass er getroffen wurde und dementsprechend seltsam ist das Geräusch auch... weiss jemand rat?

Beim Tastaturpaddle geht alles problemlos.... Könnte es am ENTER FRAME event liegen? dass er das eben so oft prüft? aber wieso tut es dann beim einen balken und beim anderen nicht?

hier der Code der vielleocht relevant ist:




Ball.addEventListener(Event.ENTER_FRAME, koordinaten);

function koordinaten(evt:Event) {
   if (Ball.hitTestObject(Balken)) {
      richtungY = -1;
      poksoundchannel = poksound.play();
      trace ("hit!");
   }
   
      if (Ball.y >=640) {
      richtungY = -1;
      poksoundchannel = poksound.play();      
   } else if (Ball.x >=780) {
      richtungX = -1;
      poksoundchannel = poksound.play();      
   } else if (Ball.y <= 0) {
      richtungY = 1;
      poksoundchannel = poksound.play();      
   } else if (Ball.x <= 20) {
      richtungX = 1;
      poksoundchannel = poksound.play();      
       }
      
      Ball.addEventListener(Event.ENTER_FRAME, koordinaten2);
function koordinaten2(evt:Event) {
   if (Ball.hitTestObject(mausverfolger)) {
      richtungY = 1;
      poksoundchannel = poksound.play();
      trace ("hit!");
   }
       }
Geändert von s.Woelfchen am 17.12.11 um 19:46 Uhr
s.Woelfchen#11
Benutzerbild von s.Woelfchen
Beiträge: 20
Registriert: Dec 2011

Themenautor/in

18.12.2011, 13:27

Hmmm er gibt noch immer 136 mal aus dass er getroffen wurde, wenn der ball das obere paddle (mausverfolger) berührt. :-(


ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
import flash.events.KeyboardEvent;
import flash.events.Event;
import flash.media.Sound;

/*stop();


var start_btn:Button = new Start ();
this.addChild(start_btn);

start_btn.addEventListener(e:MouseEvent.CLICK, starteSpiel);
function starteSpiel (e:Event):void {

   
   }

*/

/**/

// Mouse.hide();

stage.addEventListener(KeyboardEvent.KEY_DOWN, statusKeyDown);

function statusKeyDown(evt:KeyboardEvent) {
  if (evt.keyCode==Keyboard.DOWN) {
     speed--;
           trace (speed);
           trace ("Pfeil unten");
        }
     else if (evt.keyCode==Keyboard.UP)    {
        speed++;
        trace (speed);
        trace ("Pfeil oben");
        }
     else if (evt.keyCode==Keyboard.LEFT) {
        trace ("Pfeil links");
        Balken.x = Balken.x -20;
        }
     else if (evt.keyCode==Keyboard.RIGHT) {
         trace ("Pfeil rechts");
         Balken.x = Balken.x +20/**/<
        }
        else if (speed <= 0) {
        speed = 0;}
        
        
  speed_txt.text = "Geschwindigkeit: = "+ String(speed);
}

stage.addEventListener(Event.ENTER_FRAME, balkenbremse);
      
   function balkenbremse(evt:Event) {   
           if (Balken.x <= 0) {
              trace (Balken.x);
           Balken.x = 0;
     } else if (Balken.x >= 650) {
        trace (Balken.x);
           Balken.x = 650;
     }
           
     }
   

stage.addEventListener(Event.ENTER_FRAME, balkenbremsemaus);
      
   function balkenbremsemaus(evt:Event) {   
     
           if (mausverfolger.x <= 0) {
              trace (mausverfolger.x);
           mausverfolger.x = 0;}
           
           else if (mausverfolger.x >= 650) {
        trace (mausverfolger.x);
           mausverfolger.x = 650;}         
        }



var richtungX:int = 1;
var richtungY:int = 1;
var speed:Number = 5;
var hits:int = 0;
var strafe:int = -5;

var poksound:pok = new pok();
var poksoundchannel:SoundChannel = poksound.play();


// textfeld_hits.text = String(hits);
// textfeld_speed.text = String(speed);


// Numerische Werte
//var var1:Number = 10;
//textfeld_txt.text = String(var1);

// Strings
//var var2:String = "Hallo";
//textfeld_txt.text = var2;


Ball.addEventListener(Event.ENTER_FRAME, koordinaten);



function koordinaten(evt:Event) {
     if (Ball.hitTestObject(Balken)) {
        richtungY = -1;
        poksoundchannel = poksound.play();
         hits = hits + 1;
        trace ("hits = " +hits);
        
     }
     
     
     if (Ball.x >=780) {
        richtungX = -1;
        poksoundchannel = poksound.play();      
     }
         else if (Ball.x <= 20) {
        richtungX = 1;
        poksoundchannel = poksound.play();      
         }
     
     
     /*
        if (Ball.y >=640) {
        richtungY = -1;
        poksoundchannel = poksound.play();      
        
     } 
     else if (Ball.y <= 0) {
        richtungY = 1;
        poksoundchannel = poksound.play();   
        
     } */

     
     
        
        Ball.addEventListener(Event.ENTER_FRAME, koordinaten2);
  function koordinaten2(evt:Event) {
     if (Ball.hitTestObject(mausverfolger)) {
        richtungY = 1;
        poksoundchannel = poksound.play();
        
        // hier zählt er jedesb/**/mal 136 hits - warum?
      
        // hits = hits +1;
      //trace ("hits= " + hits);
      
     }
         }
        
        
  /* stage.addEventListener(Event.ENTER_FRAME, zaehler);   
     
     function zaehler(evt:Event) {
        if (Ball.hitTestObject(Balken)) {
         hits = hits + 1;
         trace (hits);}
     }
  */

     
     
  Ball.x += speed * richtungX;
  Ball.y += speed * richtungY; }


stage.addEventListener(MouseEvent.MOUSE_MOVE, mausbewegen);


function mausbewegen(evt:MouseEvent) {
     mausverfolger.x = stage.mouseX;
     
}


stage.addEventListener(Event.ENTER_FRAME, loose);
function loose(evt:Event) {
     
     if (Ball.hitTestObject(begrenzung_oben))
     
     {      
     trace ("looser oben!");
     richtungY = -1;
     
     poksoundchannel = poksound.play();
     while (hits >= 5) {
        hits = hits + strafe}      
     while (hits > 0)  {
     hits = hits + strafe;}
     
     trace ("Punkte =" + hits);
     }
        
        
     else if (Ball.hitTestObject(begrenzung_unten))
     {
     trace ("looser unten!");
     richtungY = 1;
     poksoundchannel = poksound.play();   
     
     if (hits >= 5) {
        hits = hits + strafe;}
        
     else{
     hits = 0;
     trace ("Punkte =" + hits);}
     
     
     } }


Geändert von s.Woelfchen am 18.12.11 um 13:47 Uhr
s.Woelfchen#12
Benutzerbild von s.Woelfchen
Beiträge: 20
Registriert: Dec 2011

Themenautor/in

19.12.2011, 20:16

Huhu bin leider immer noch mit dem Problem am kämpfen, weiss keiner Rat?

Hilft es wenn ich die ganze Datei mal hochlade? Wo geht das? :-)
Kerstin77#13
Benutzerbild von Kerstin77
Beiträge: 1004
Registriert: Jul 2008

19.12.2011, 20:31

Hallo,

Funktionen sollten nicht ineinander verschachtelt werden.

Grüße,
Kerstin
Wer Rechtschreibfehler findet, darf sie gerne behalten.
s.Woelfchen#14
Benutzerbild von s.Woelfchen
Beiträge: 20
Registriert: Dec 2011

Themenautor/in

21.12.2011, 12:15

oh danke jetzt tut es, das war der tipp den ich gebraucht habe :D
jakidaki#15
Benutzerbild von jakidaki
Beiträge: 50
Registriert: Jun 2009

26.12.2011, 15:41

Hier vllt. nochmal ne kleine Anleitung ;)

http://www.flashninjaclan.com/tutorialpage.php?ID=56
kaiAhnung#16
Benutzerbild von kaiAhnung
Beiträge: 6
Registriert: Nov 2012

05.02.2013, 15:41

s.Woelfchen: du studierst Infodesign?
Geändert von kaiAhnung am 05.02.13 um 15:42 Uhr

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Online-Spiel Crossover [Flash 11] 05.06.2019 - Indy_Crossover
Partner Webseiten: art-and-law.de  Mediengestalter.info   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2021 Sebastian Wichmann - Flashhilfe.de