Animationen
Übersicht

KaDuZaBetreff: Animationen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also^^
ich habe nun mehrer bilder halt als ein "Filmstreifen" abgespeichert so nun will ich das als animation haben Code: [AUSKLAPPEN] Graphics 640, 480
ich = LoadAnimImage("ich.bmp",32,32,0,5) DrawImage ich, 300, 240, 0 DrawImage ich, 300, 240, 1 DrawImage ich, 300, 240, 2 DrawImage ich, 300, 240, 3 DrawImage ich, 300, 240, 4 Repeat Until KeyHit(1) Aber i-wie funtzt das nich bitte helft mir (bin Anfänger und dies hier is mein erster beitrag in diesen Forum^^)[/code] |
||
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
hi,
müsste in etwa so gehen. Code: [AUSKLAPPEN] graphics 640,480,16,2 setbuffer backbuffer() repeat cls for i= 1 to 5 drawimage ich,300,240,i next flip until keyhit(1) end habs jetzt nich getestet müsste aber gehen. ...und Herzlich wilkommen im Forum!!! |
||
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau] |
KaDuZa |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke^^
nun kommt immer ein fehler image out of range oder so hab jetz diesen code verwendet Code: [AUSKLAPPEN] Graphics 640,480,16,2
[/code]
SetBuffer BackBuffer() ich = LoadAnimImage("ich.bmp",32,32,0,5) For i= 1 To 5 DrawImage ich,300,240,i Next Flip Repeat Until KeyHit(1) End |
||
![]() |
skey-z |
![]() Antworten mit Zitat ![]() |
---|---|---|
das liegt daran, dass der Bildindex bei 0 anfängt, also musst du als Schleifenkopf "for i = 0 to 4" schreiben.
Schau dir mal die Befelsreferenz auf www.blitzbase.de an, dort wird "fast" jeder Befehl genau beschrieben. |
||
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz BAC#57: 2. Platz |
KaDuZa |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
der fehler kommt trotzdem ![]() |
||
KaDuZa |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
gibt es ein freeware prog womit man animationen erstellen kann?
ich progge mit der demo von blitzbasic nebenbei gesagt^^ |
||
- Zuletzt bearbeitet von KaDuZa am Do, Jun 28, 2007 12:21, insgesamt einmal bearbeitet
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bitte vermeide in Zukunft Doppelposts.
Mit der Editierfunktion rechts oberhalb deiner Beiträge kannst du nachträglich noch Informationen hinzufügen. Danke. |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
KaDuZa |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok wird sich in zukunft ändern danke für den hinweis | ||
Lador |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi, mas93's Code ist zwar sehr gut, wird dir aber nicht weiterhelfen, da du fast nichts von deiner Animation bzw. deiner Spielfigur sehen wirst. Du brauchst also eine Art Pause, verwende aber kein Delay! Delay hält nämlich das ganze Programm an, und wenn du z.B. eine Maus mit einbauen willst, dann wird der Spieler große Schwierigkeiten haben, die Maus zu bewegen, während er gleichzeitig seine Spielfigur bewegt...
Bladerunner hat mal etwas darüber geschrieben, dort erklärt er, wie man mit Millisecs() eine schöne animation hinbekommt: https://www.blitzforum.de/foru...=millisecs MFG Lador |
||
KaDuZa |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
unterstützt die demo eigentlich auch gif datein?
edit: Okay ich hab einfach mal aus nen tut nen tileset genommen und möchte das diese datei dannimiert wird doch es wird immer nur ein bid angezeigt Code: [AUSKLAPPEN] Graphics 640,480,16,2
Global Tileset = LoadAnimImage("tileset.bmp",32,32,0,6) For i= 0 To 5 DrawImage Tileset,400,200,i Next Repeat Until KeyHit(1) End bin ich zu dumm dafür? ![]() |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mach dir doch klar, was dein Programm in jedem Arbeitsschritt eigentlich tut, das hilft meistens:
Du zeichnest 5 Bilder auf jeweils die selben Koordinaten übereinander. Dann tut das Programm eigentlich nichts bis Esc gedrückt wird. Ich empfehle dir, dich mit den Befehlen setbuffer backbuffer() Cls Flip auseinander zu setzten. Dagegen würde ich keine FOR...Next Schleife verwenden. Hoffe das hilft dir. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
KaDuZa |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich weis schon was ´die befehle bedeuten.... | ||
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Downloade dir mal das RPG-Tutorial von www.robsite.de
Dort wird alles erklährt, mit ausführbarem Code. Was du machst: Du zeichnest einfach die Tiles an die gleiche Position, schon klar das nur ein zu sehen ist. Schau dir mal den Data-Befehl an, mit ihm kann man Mapeigenschaften super speichern, wie es auch im RPG-Tutorial gemacht wird. |
||
KaDuZa |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich hab díe tuts alle durch......(schon vorher gantz dumm bin ich auch ned)
da is nichts zum thema annimieren |
||
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es wurde eigentlich schon alles gesagt...
Du brauchst eine Hauptschleife mit Flip (Backbuffer). Dann hast du eine Frame-Variable, die festhält welches Bild gezeichnet werden soll. Mit millisecs() berechnest du wieviel Zeit verstrichen ist. Wenn z.B. mehr als 50ms verstrichen ist, erhöhst du die Frame-Variable um 1. Dann brauchst du nur noch das Bild ein einziges mal zu zeichnen, als Frame einfach die Variable angeben. So wird automatisch alle 50ms das Frame um 1 erhöht und damit alle 50ms ein anderes Bild gezeichnet. |
||
KaDuZa |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
kann mir jemand nich einfach nen beispielcode geben? ![]() |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
BeispielCode: [AUSKLAPPEN] Graphics 640, 480
SetBuffer BackBuffer() ich=LoadAnimImage("ich.bmp",32,32,0,5) While Not KeyHit(1) If MilliSecs()>ms+500 ms=MilliSecs() i=(i+1) Mod 5 End If DrawImage ich,300,240,i Flip Cls Wend End edit1: Hab natürlich auch klein wenig Misst gebaut. Code wurde korrigiert. |
||
- Zuletzt bearbeitet von hectic am Fr, Jun 29, 2007 18:19, insgesamt einmal bearbeitet
KaDuZa |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
danke^^ | ||
KaDuZa |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
danke^^ | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group