Hi, ich versuche gerade ein kleines spiel zu programmieren.
man steuert einen helicopter durch eine höhle und kann nur über die leertaste seine höhe bestimmen.
das steuern klappt zwar gut, aber wenn ich jetzt anstatt eines farbigen rechtecks eine bitmap nehme, gibts probleme mit dem neuzeichnen, die alten bitmaps überlagern sich und werden nicht wie gewollt "übermalt"..
hier der quelltext, im anhang auch das ganze projekt, wobei das wohl nicht nötig ist.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| procedure tform2.rungame; var pich,picw: integer; begin keydown:=false; helicopter.x:=round(IGame.width/2); helicopter.y:=round(IGame.Height/2); helicopter.vy:=0; pich:=helipic.Height; picw:=helipic.Width; while GStop=false do begin IGame.Canvas.Pen.Color:=clBlack; IGame.Canvas.Brush.color:=clBlack; Igame.canvas.Rectangle(helicopter.x,helicopter.y,picw,pich); if (keydown=true) and (helicopter.vy>-5) then helicopter.vy:=helicopter.vy-0.1; if (keydown=false) and (helicopter.vy<5) then helicopter.vy:=helicopter.vy+0.1; if (helicopter.y>0) and (helicopter.y<(Igame.Height-pich)) then helicopter.y:=helicopter.y+round(helicopter.vy); Igame.Canvas.Draw(helicopter.x,helicopter.y,helipic); application.ProcessMessages; sleep(10); end; end; |