animierte tiles

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Dottakopf

Betreff: animierte tiles

BeitragSa, Jan 05, 2008 15:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo blitzer !

Ich möchte mit eienm editor animerte tiles setzten. Bei diesen möchte ich im wesentlichen noch folgendes mit einstellen können:

- x koord
- y koord
- layer bzw die ebene
- start animations frame ; start der ani
- max animations frame ; ende der ani
- animations speed

Meine frage ist jetzt, wie setzte ich das am besten um? Bzw. wie setze ich das am besten mit arrys um, mit types klappt es schon einigermaßen, leider habe ich dan das problem, dass ich die nicht animierteten map tiles und die animierten(type) tiles jeweils unabhängig setzten muss. Und ich fürchte einfach, das das irgendwann einfach mal zu langsam wird(In der Main.exe).

Ich stell mir auch scho so in etwa vor wie ich das mit den arrys lösen könnte :
Ich setzte jedes tile als "animations tile" wobei die "nicht animierten" immer von frame 1 zu frame 1 animieren ( = keine animation) und die wirklichen animierten tiles dann halt von frame x zu frame y animieren. Doch wie sage ich jetzt den arry einträgen, welche animationsframes sie nehmen sollen? Bzw. ich muss diese ja auch wieder zurücksetzen wenn sie mit der animation fertig sind. Mal ganz davon abgesehen, das ich dan noch nicht die geschwindigkeit mit drinnen hab.

Wie gesagt, ich kann jetz auch bei den types lassen, aber mich würd halt interesieren ob ich damit nicht später probleme bekomm, bzw. wie sieht der traditionelle weg für solche animierten tiles aus ?

mfg Dottakopf
Rechtschreibfehler gelten der allgemeinen Belustigung!
 

Matthias

BeitragSa, Jan 05, 2008 17:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Hay. Das stimmt Types werden extrem langsamm. Mann kann auch alles mit Dim Felder bewältigen. Allerdings ist dies dann nicht mehr so konfortabel.
und es sieht etwas Kompliezierter aus.

Du brauchst erst einmal ein Dim Feld für das Map. In diesem werden nur die
TilesNummern gespeichert.
Dies TilesNummer (ID) kannst du nun benutzen um das entsprechende Tiles
an zu sprechen.

Dieses Tiles ist nun wieder ein 2Dimensionales Feld. MaxTiles und Eigenschaften.

Also jede Eigenschaft hat ihre Nummer. Diese nummer kannst du etweder direkt ansprechen oder über Constanzen. Übersichtlicher.



Code: [AUSKLAPPEN]

Dim  Tiles(1000,20)

Const Handle=1,Frame=2,AnimD=3......


For X=0 to 100 For Y=0 to 100
ID=Map(X,Y)
DrawBlock  Tiles(ID,Handle),X*32,Y*32,Tiles(ID,Frame)
if Millisecs()>Tiles(ID,Zeit) then

Tiles(ID,Zeit)=Millisecs()+Tiles(ID,AnimD)
Tiles(ID,Frame)=Tiles(ID,Frame)+1
if Tiles(ID,Frame)>Tiles(ID,MaxFrame) then Tiles(ID,StartFrame)
end if
next next

Nur ein Beispiel nicht getestet.
Gruß Matthias

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group