Figur animieren
Übersicht

maviBetreff: Figur animieren |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo Liebe Blitzgemeinde,
Ich habe mit der Sufu ein alten Thread gefunden, wo es mir erklärt wurde wie ich eine Figur animiere, aber mein Problem ist wenn ich die animation einbinde und dann das programm starte, dass immer nur die gleichen animationen benutzt werden?! Ich versteh nicht, obwohl ich andere Frames angebe warum das nicht funktioniert. Hier alles in einem Paket zum Download, schaut mal drüber: http://rapidshare.com/files/227180819/RPG.rar Danke mavi |
||
![]() |
ComNik |
![]() Antworten mit Zitat ![]() |
---|---|---|
Was dagegen code hier zu posten?
Also ich für meinen Teil hab keine Lust mir alles bei Rapidshare zu saugen. Is aber nur meine Meinung(ich bin ziemlich faul) Also bitte Code posten. lg ComNIk |
||
WIP: Vorx.Engine |
mavi |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] Function movement()
If KeyHit(208) Then If map(px,py+1) < 1 Then py = py + 1 scrolly = scrolly + 32 move = 1 herodir = unten heroframe = heroframe + 1 EndIf EndIf If KeyHit(200) Then If map(px,py-1) < 1 Then py = py - 1 scrolly = scrolly - 32 move = 1 herodir = oben heroframe = heroframe + 1 EndIf EndIf If KeyHit(203) Then If map(px-1,py) < 1 Then px = px - 1 scrollx = scrollx - 32 move = 1 herodir = links heroframe = heroframe + 1 EndIf EndIf If KeyHit(205) Then If map(px+1,py) < 1 Then px = px + 1 scrollx = scrollx + 32 move = 1 herodir = rechts heroframe = heroframe + 1 EndIf EndIf End Function Function drawhero() If move = 1 Then x = px * 32 : y = py * 32 : DrawImage hero,x-scrollx,y-scrolly,heroframe If herodir = unten Then If heroframe > 8 Then Heroframe = 6 EndIf EndIf If herodir = oben Then If heroframe > 2 Then heroframe = 0 EndIf EndIf If herodir = links Then If heroframe > 11 Then heroframe = 9 EndIf EndIf If herodir = rechts Then If heroframe > 5 Then heroframe = 3 EndIf EndIf End Function Code: [AUSKLAPPEN] Graphics 640,480,16,0
SetBuffer BackBuffer() ;- Images laden - Global gras = LoadImage("gras.bmp") Global wasser = LoadImage("wasser.bmp") Global hero = LoadAnimImage("hero.bmp",24,32,0,11) MaskImage hero, 255,255,255 ;- Variablen - Global timer = CreateTimer(25) Global karte Global px = 10 Global py = 7 Global move = 1 Global scrollx Global scrolly Global x,y Global time Global herodir Global heroframe Global unten,oben,rechts,links ;- Vorbereitungen laden - Dim map(31,23) karte = OpenFile("map.dat") For y = 0 To 23 For x = 0 To 31 map(x,y) = ReadByte(karte) Next Next ;- Hauptschleife :: BEGIN :: - Repeat drawmap() movement() drawhero() WaitTimer(timer) Flip Cls Until KeyHit(1):End ;- Hauptschleife :: END :: - CloseFile karte ;- Include - Include "func.bb" |
||
![]() |
ComNik |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke! ![]() Ich persönlich würde dir einen anderen Ansatz EMPFEHLEN: Code: [AUSKLAPPEN] global unten = 0 ; unten is gleich dem Frame wo der Spieler nach unten guggt ;) global oben = 4 ; " " " " " " " " " oben " " global links = 8 ; hoffentlich selbsterklärend... global rechts = 12 global move = 0 ; gibt an ob der Player sich gerade bewegt... global player_frame global player_dir ;Main Looop: ;Animation: if move = 1 then player_frame = player_frame + 1 ; Player Frame wird erhöht solange er sich bewegt (move = 1) if player_frame = 4 then player_frame = 0 ; Sonst gehen dir schnell die Frames aus ;) end if ;Bewegung: If KeyDown(208) then ; Ich hab mir jetz nich die mühe gemacht und nach scancodes geschaut player_x = player_x + 2 ; Je nachdem in welche richtung er läuft (sollte dir eig. klar sein) move = 1 player_dir = rechts ; also hat player_dir = 12 else move = 0 end if ;... das ganze natürlich auch für links,oben,unten ;Zeichnen: DrawImage player,player_x,player_y,player_frame + player_dir ; das is das besondere ; Main Looop ende... Das is etwas blöd im Code zu erklären, wenn du das System nich verstanden haben solltest dann FRAG Eventuell (ganz sicher ![]() ![]() Hoffe das war dein Problem, sonst hab ich alles umsonst geschrieben xDD lg ComNIk |
||
WIP: Vorx.Engine |
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dieses Forum hat ein praktisches Archiv, in dem man Dateien hochladen kann... | ||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
mavi |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
da ist irgendwie kaum ein unterschied zu meinem?! | ||
![]() |
ComNik |
![]() Antworten mit Zitat ![]() |
---|---|---|
Soweit ich das gesehen habe doch, denn du erhöhst das Helden Frame nur, wenn KeyHit(208) (was ich übrigens in KeyDown() ändern würde).
Eventuell habe ich dein Problem nicht ganz verstanden. Könntest du das nochmal schildern? Ich mache auf jeden Fall meine Animationen immer so. Und hatte damit noch nie ein Problem... lg |
||
WIP: Vorx.Engine |
mavi |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich hab extra keyhit genommen ich änder das wieder um aber damit sieht man besser die einzelnen animationen ich änder das noch um und mach das zeitabhänig ;D keine angst aber ....
Ich möchte eine animation erstellen. Die Figur soll einfach animiert laufen mehr möchte ich nicht aber ich bekomms nicht hin ich hab deinen code eingefügt aber, it doesnt work ;D ![]() das ist das image ![]() |
||
![]() |
ComNik |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hoffe doch, dass du meinen Code nicht unverändert reingenommen hast? ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group