Types in Blitz Max, Tutorials?

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

panda

Betreff: Types in Blitz Max, Tutorials?

BeitragSa, Jun 23, 2007 21:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich grüße euch!

Ich bin mit meinem Latain am ende, habe schon in FAQ Bereich gesucht und die Suche benutzt, aber einer seits funktionieren die Deutschen Tutorial Links nicht, zum anderen finde ich hier im Forum auch nichts.

Gibts den ein Tutorial in Deutsch das Erklärt wie Types Funktionieren in Blitz Max? Am besten sowie bei der Online Hilfe für Blitz Basic, nur halt für Blitz Max.


Und dann hätte ich noch eine Frage, und zwar will ich schießen können so wie bei Space Invaders, wie gehe ich das am besten an?

Vielen dann, und Mfg panda.

Leroy

BeitragSa, Jun 23, 2007 21:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Hier das dürfte dir helfen:
https://www.blitzforum.de/foru...highlight=

panda

BeitragSa, Jun 23, 2007 22:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Shocked Ich glaube ich fang bei Blitz Basic an, und später kann ich immer noch Blitz Max lernen.
 

battlegorge

BeitragSo, Jun 24, 2007 16:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn man herausgefunden hat, dass man Listen benutzen muss, sind Types relativ einfach.
Ich habe mal ein sehr simples spaceinvaders ähnliches Programm gemacht mit ein paar Kommentaren.

Code: [AUSKLAPPEN]

Strict

Graphics 640,480,0,85

Global playerlist:TList=CreateList() 'Liste für den Spieler
Global shotlist:TList=CreateList() 'Liste für Schüsse

'neuen Spieler erzeugen
t_player.f_create(320,460)

'Hauptschleife
Repeat
   f_update() 'Objekte mit der Funktion f_update erneuern
   Flip
   Cls
Until KeyHit(key_escape) Or AppTerminate()

'Spieler Objekt
Type t_player
   'Spieler Position und Eigenschaften
   Field x#
   Field y#
   Field speed#
   Field cooldown:Byte
   
   'Spieler erzeugen
   Function f_create(x,y)
      Local player:t_player=New t_player 'neue Instanz von t_player
      player.x=x 'Objekt Eigenschaften übergeben
      player.y=y
      player.speed=2
      player.cooldown=0
      ListAddLast playerlist,player 'Objekt in die Liste playerlist eintragen
   End Function
   
   'Spieler steuern und anzeigen
   Method m_update()
      'schiessen
      If cooldown>0 cooldown:-1
      If cooldown=0 And KeyDown(key_space)
         cooldown=20
         t_shot.f_create(x,y) 'neuer Schuss an Spieler x/y-Position
      EndIf
      'bewegen
      If KeyDown(key_left) And x>20 x:-speed
      If KeyDown(key_right) And x<620 x:+speed
      'anzeigen
      DrawRect x-20,y-10,40,20
   End Method
End Type

'Schuss Objekt
Type t_shot
   'Schuss Position und Eigenschaften
   Field x#
   Field y#
   Field speed#
   
   'neuen Schuss erzeugen
   Function f_create(x,y)
      Local shot:t_shot=New t_shot 'neue Instanz von t_shot
      shot.x=x 'Objekt Eigenschaften übergeben
      shot.y=y
      shot.speed=5
      ListAddLast shotlist,shot 'Objekt in die Liste shotlist eintragen
   End Function
   
   'Schuss bewegen und anzeigen
   Method m_update()
      'bewegen
      y:-speed
      'löschen
      If y< 100 shotlist.remove(Self) 'Schuss aus Liste entfernen wenn er zu weit oben ist
      'anzeigen
      DrawRect x-5,y-10,10,20
   End Method
End Type

'alle Objekte erneuern
Function f_update()
   'für alle Objekte in den Listen die Methode m_update() ausführen
   For Local player:t_player=EachIn playerlist
      player.m_update()
   Next
   For Local shot:t_shot=EachIn shotlist
      shot.m_update()
   Next
End Function
 

Dreamora

BeitragSo, Jun 24, 2007 22:29
Antworten mit Zitat
Benutzer-Profile anzeigen
panda hat Folgendes geschrieben:
Shocked Ich glaube ich fang bei Blitz Basic an, und später kann ich immer noch Blitz Max lernen.


das wird dir wenig bringen, da BM OO hat, BlitzBasic jedoch nicht ... auch funktionieren einige andere Dinge elementar anders.

wenn du BM willst, geht BM, wenn du kein OO willst, kein Crossplattform etc, dann geh Blitz Basic
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

panda

BeitragSo, Jun 24, 2007 23:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab mir das doch nochmal angesehen, aber ich kapiere eins nicht wieo man ein "t" machen muss bei den meisten Variabelen, Timage und so??.

FOODy

BeitragMo, Jun 25, 2007 8:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Das sind Types.
TImage ist ein (T)Image-Type.
Wie du die Types jetzt nennst ist im Prinzip egal, aber in allen off. Modulen beginnt ein Typename mit T. (TImageFont, TSound, TChannel, ...)


Gruß,
FOODy
BlitzMax + MaxGUI, 64-bit Arch Linux: Intel Core² E8500 | 8 GB Ram | GeForce GTX 460 · 1024 MB

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group