![]() |
DelphiX kollision und bewegung mit TObjectList
:hi: Hallo leuts,
ich bin grad dabei ein kleines 2d spiel mit hilfe von delphiX zu schreiben. Nun zu meinen problem: der player soll in der mitte stehen bleiben und die objekte sollen sich bewegen. bis dahin kein problem aber wenn ich nun die kollisionskontrolle einbauen will habe ich das probem dass im falle einer kollision nur das objekt mit dem ich kollidiere stehen bleibt (wegen vererbung) dann bin ich auf die idee gekommen die bewegung sowie die kollisionskontrolle in meine player move procedure reinzupacken und die bewegung über eine Tobjectlist mit ner schleife zu machen. die gegenstände wollen sich nur blöder weise keinen mm bewegen.
Delphi-Quellcode:
wär echt kewl wenn mir jemand helfen könnt. vielen dank im voraus.
var gegen: TObjectList
Procedure TPlayer.DoMove(MoveCount: Integer); var i: Integer; Begin Inherited domove(movecount); If isup in form1.dxinput1.states Then Begin for i:=0 to gegen.Count-1 do TGegenstand(gegen[i]).Y:=TGegenstand(gegen[i]).Y+1; if collision>0 then //falls der player mit mehr als nix kollidiert ;) for i:=0 to gegen.Count-1 do TGegenstand(gegen[i]).Y:=TGegenstand(gegen[i]).Y-1; end; If isdown in form1.dxinput1.states Then Begin for i:=0 to gegen.Count-1 do TGegenstand(gegen[i]).Y:=TGegenstand(gegen[i]).Y-1; if collision>0 then for i:=0 to gegen.Count-1 do TGegenstand(gegen[i]).Y:=TGegenstand(gegen[i]).Y+1; end; If isleft in form1.dxinput1.states Then Begin for i:=0 to gegen.Count-1 do TGegenstand(gegen[i]).X:=TGegenstand(gegen[i]).x+1; if collision>0 then for i:=0 to gegen.Count-1 do TGegenstand(gegen[i]).X:=TGegenstand(gegen[i]).x-1; end; If isright in form1.dxinput1.states Then Begin for i:=0 to gegen.Count-1 do TGegenstand(gegen[i]).X:=TGegenstand(gegen[i]).x-1; if collision>0 then for i:=0 to gegen.Count-1 do TGegenstand(gegen[i]).X:=TGegenstand(gegen[i]).x+1; end; end; greetz dustin :hi: |
Re: DelphiX kollision und bewegung mit TObjectList
bitte bitte bitte is echt hammer wichtig.
ich komm einfach net drauf. delphi bringt auch keine fehlermeldung und nix. es tut sich einfach nix. hab auch noch nie mit TObjectList gearbeitet. kann man da nur lesend auf die objecte zugreifen oder wie? bitte helft mir *push* |
Re: DelphiX kollision und bewegung mit TObjectList
oki hab jetzt selber geschafft: einfach ein array nehmen. :wall:
Delphi-Quellcode:
thx an alle die sichs angeschaut und drüber nach gedacht habengegen: array of Tgegenstand; If isLeft in main.Form1.DXInput1.States then begin for i:=0 to high(gegen) do gegen[i].X:=gegen[i].X+2; if collision>0 then for i:=0 to high(gegen) do gegen[i].X:=gegen[i].X-2; end; :hi: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz