Animation
Übersicht

joni8aBetreff: Animation |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo, ich bin recht nur im thema programmieren mit blitz. Ich bin grad dabei das tutorial von rob´s seite zu lesen(nummer 2) ich bin nun zum thema animationen gekommen. Nun habe ich erstaml 2 bilder gemalt. Nun weiss ich aber nicht mehr weiter, wo soll ich sie abspeichen einzeln oder zusammen in einer datei oder anders wie.
Danke schon mal für eure hilfe. joni8a |
||
![]() |
SchnittlauchUnkraut |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die beiden müssen in ein Blid und dan mit loadanimimage() laden
und mit drawimage bild,x,y,frame gezeichnet werden. |
||
Ich wars nicht. |
joni8a |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo mein code sieht folgender maßen aus
Graphics 640,480 SetBuffer BackBuffer() Repeat Cls bmp = LoadAnimImage("bild.bmp", 139, 181,bild0.bmp, 3) DrawImage blid.bmp, x, y, frame Flip Until KeyHit(1) so nun sagt er mir aber das er den type bmp nicht findet warum? joni8a |
||
![]() |
Fleamor |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du hast den Fehler gemacht das du das Bild in der Hauptschleife geladen hast. Außerdem hast du den Befehl LoadAnimImage nicht richtig verwendet.
Und bei "frame", "x" und "y" muss einen Zahl hin. Und zu guter letzt muss bei Drawimage der Name des Bildes hin unter dem du es gespeichert hast also "Bmp" mfg Fleamor |
||
*schwupp* O.O |
- Zuletzt bearbeitet von Fleamor am Mi, Sep 27, 2006 15:31, insgesamt 2-mal bearbeitet
![]() |
BlitzcoderNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja, du tust sie beide in ein Bild, nebeneinander. der erste Parameter gibt dein Bild an. das hast du richtig gemacht. Der 2te und 3te Gibt die breite jedes einzelbildes an, aber das richtige Bild ist bei dir doppelt so breit, da du ja die 2 Nebeneinander hast. aber diese beiden Werte müssen also die Grösse jedes animationsframes angeben. danach kommt der Startframe. Wieso du da "bild0.bmp" genommen hast, ist mir ein Rätsel. da kommt einfach 0 rein. Und der letzte Parameter gibt die gesamtframes an, in deinem Fall sind es 2.
Und mit drwaimage kannst du dann die einzelnens frames zeichnen. Da muss der letzte paramer dem frame entsprechen. Also ist er entweder 0 oder 1, da die Zählung bei 0 beginnt. MfG Blitzcoder |
||
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________ |°°°°°°°°°°°°°°||'""|""\__,_ |______________ ||__ |__|__ |) |(@) |(@)"""**|(@)(@)****|(@) |
joni8a |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
danke für die antworten aber könnte mir einer mal ein beispiel code schiecken vielleicht auch ein kleines "programm"
danke joni8a |
||
![]() |
BlitzcoderNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn du die Bilder hergibst, bastel ich dir ein Beispiel damit. | ||
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________ |°°°°°°°°°°°°°°||'""|""\__,_ |______________ ||__ |__|__ |) |(@) |(@)"""**|(@)(@)****|(@) |
joni8a |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wie kann ich den bilder einfügen denn wenn ich auf img gehe sthet das etwas mit URLs und meine blider sind in bmp gescpeichet | ||
![]() |
DerHase |
![]() Antworten mit Zitat ![]() |
---|---|---|
Schau Dich mal auf der >>>Seite<<< hier um. | ||
joni8a |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Habe ich schon gesehen aber daraus werde ich auch nicht schlau und wie fürgt man blider ein? | ||
Matthias |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
So nun hast du deinen Code, aber der wird wohl nicht richtig
functionieren weil ich nicht weis wie groß dein bild wirklich ist. Am Besten ist es wenn du mal dein Bild im Archief Hochlädst. Code: [AUSKLAPPEN] Graphics 640,480 SetBuffer BackBuffer() Bild = LoadAnimImage("bild.bmp", 69, 181,0, 2) Repeat Cls DrawImage Bild, 100,100, frame Frame=Frame+1:if Frame>1 then Frame=0 Flip delay 100 Until KeyHit(1) Gruß Matthias |
||
joni8a |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
WOW vielen dank es hat funktioniert nun habe ich noch ein paar fragen:
1. kann mann es noch langsamer machen oder muss ich da mehr bilder malen 2. was passiert wenn ich die x,y werte veränder 3. wie bekomme ich das bild in die mitte des blidschierms nochmals danke joni8a |
||
Matthias |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Klar BlitBasic kann alles.
Habe mal im Archiv eine WasserAnimation Hochgeladen Lade die runter und speicher sie anstelle deines Bildes Code: [AUSKLAPPEN] FensX=800:FensY=600 Graphics FensX,FensY,32,2 Pause=40 WasAni=LoadAnimImage("WasAni.jpg",64,64,0,23) MidHandle WasAni setbuffert backbuffer() Repeat ;----------------Mitte vom Fenster-----------------------" DrawImage WasAni,FensX*.5,FensY*.5,Frame ;---------------AllesVolll---------------------------------" ;TileImage WasAni,0,0,Frame if Millisecs()>Takt+Pause then Frame=Frame+1:Frame=Frame Mod 23 Takt=Millisecs() end if flip until keydown(1)=1 end |
||
joni8a |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Echt gut könntest du mir uahc eine beschreibung zum code geben
vielen dank joni8a |
||
![]() |
PowerProgrammer |
![]() Antworten mit Zitat ![]() |
---|---|---|
mal durchkommentiert:
BlitzBasic: [AUSKLAPPEN] ; Grafikmodus setzten Fehler ausgemerzt, unklare Befehle einfach anklicken |
||
Matthias |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich denke mal das dir das mit dem Takt und die Pause etwas verwirren
wird Bei Delay wird das ganze Prg. Angehalten und bei dieser version nicht das das heist du kannst in der zwichenzeit Berechnungen oder andere Befehle Ausführen. Code: [AUSKLAPPEN] ;-------------------------Fenster Machen------------------------- FensX=800:FensY=600:Graphics FensX,FensY,32,2 ;----------------------------Animation Laden------------------- WasAni=LoadAnimImage("WasAni.jpg",64,64,0,23) Pause=40 MidHandle WasAni ;"-------------------Bild ist immer Mittig----------- SetBuffer BackBuffer() ;------------------Die Hälfte Vom Fenster-------------------------- ;----Mann könnte auch Screiben AniPosX=FensX/2--------------- AniPosX=FensX*.5:AniPosY=FensY*.5 Repeat ;-----------Erst Ausführen wenn Aktuelle Zeit größer ist als die ;-----------Stopzeit plus der Pause-----------------------" If MilliSecs()>Takt+Pause Then Cls DrawImage WasAni,AniPosX,AniPosY,Frame Frame=(Frame+1) Mod 23 AniPosX=AniPosX+(MouseX()-AniPosX)*.1 AniPosY=AniPosY+(MouseY()-AniPosY)*.1 Takt=MilliSecs() ;------------Momentane Zeit wird Gestopt------" End If Flip Until KeyDown(1)=1 End |
||
joni8a |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo ich habe da noch ein paar andere fragen beim tutorial von rob thema kollision. Da hat er beim programm seine bilder mit blauem hintergund gemacht, wenn ich die lade sieht alles ok aus wie aber kann ich das auch mit anderen hintergrund farben machen?
joni8a |
||
Matthias |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Mit MaskImage
Wenn du ein Bild mit DrawImage setzen tust dann ist Die Farbmaske= 0,0,0 wenn du jetzt zum Bsp. Wilst das Rot nicht gezeichnet werden so dann kanst du schreiben vor DrawImage MaskImage Bild,255,0,0 |
||
joni8a |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das heisst ich muss immer die frabe angeben die ich nicht haben will? | ||
Matthias |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja genau | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group