![]() |
kleine Bilder einfügen und bewegen
hallo ich möchte in mein spiel die Figuren als Bilddateien einfügen und dann später auch bewegen können, wie mache ich sowas? als Untergrund habe ich ne Image fläche.
MfG Cloudwalk |
Re: kleine Bilder einfügen und bewegen
du kannst zb auf der image komponente eine neue image komponente erstellen und in dieser das bild laden, dann kannst du zb mit einem timer die image komponente so bewegen:
image1.left := 1; //hier kannst du es auf der x achse verschieben image1.top := 1; //hiermit kannst du die image komponente auf der y achse verschieben ich sage aber gleich dazu: dieses ist nur eine einfache methode, nicht die wirklich perfekte, wen du sowas machen willst musst du mit opengl arbeiten oder mit gdi!!! |
Re: kleine Bilder einfügen und bewegen
ja sowas reicht schon. kann ich auch ein Image in Ebenen unterteilen sodass zumbeispiel die geladene grafik(spielfigur) priorität 1, eine Karte Priorität 2, und darunter sozusagen eine Pixelfläche die aus schwarz und weiß(zur abfrage von mauern etc.) die die Priorität 3 hat???
MfG Cloudwalk :) |
Re: kleine Bilder einfügen und bewegen
nein das geht nicht, zumindest nicht mit den standartkomponenten, ob es eine komponete gibt, die sowas unterstützt kann ich dir auch nicht genau sagen, mir fällt jedenfalls keine ein...
vllt hiflt dir das hier auch ein wenig weiter: ![]() ansonnst kannst du auch mal hier das forum nach gdi + bilder und so durchsuchen... da wirst du bestimmt auch fündig ;-) |
Re: kleine Bilder einfügen und bewegen
Zitat:
1.) du hast dein Spielewelt abgebildet in ein zweidimensionales Array (stellt dir einfach mal ein Schachspiel vor) 2.) auf jedem Feld sitzt eine Spielfigur, eine Wand, ein Bombe oder was auch immer. Jedes Ding hat eine bestimmte Nummer 3.) mit einer PaintBox wird dieses Array abgebildet:
Delphi-Quellcode:
Diese Prozedur wird aus dem Event OnPaint der PaintBox aufgerufen:
procedure TForm1.ZeichneSpielfeld
begin for x:=0 to 9 do for x:=0 to 9 do begin case spiel[x,y] of 1: PaintMauer(x*10, y*,10); // Mauerstück hat 10 * 10 Pixel 2: PaintBombe(x*10, y*,10); -1: PaintBackground(x*10, y*,10); end; end; end;
Delphi-Quellcode:
4.) immer wenn sich etwas in deinem Spielfeld geändert hat, wird Paintbox.Invalidate; aufgerufen
procedure Tform1.Paintbox1Paint();
begin ZeichneSpielfeld; end; |
Re: kleine Bilder einfügen und bewegen
für was sind die for schleifen?
|
Re: kleine Bilder einfügen und bewegen
und wie würde ich die Figuren dann bewegen?
|
Re: kleine Bilder einfügen und bewegen
Zitat:
Etwa so wie ein Elektronenstrahl die Bildröhre abtastet. Bewegen der Figuren:
Delphi-Quellcode:
xpos := 5; // Position der Spielfig
ypos := 6; // bisherige Position löschen spiel[xpos,ypos] := -1; // Hintergrund // bewegen ypos := ypos+1; if spiel[xpos,ypos] = 2 then // Bombenabfrage Bumm; // neue Position setzen spiel[xpos,ypos] := 42; // 42 bedeutet Spielfigur |
Re: kleine Bilder einfügen und bewegen
also wär das dann so ein koordinatensystem wobei 9*9 die Spielfeldgröße wäre?
|
Re: kleine Bilder einfügen und bewegen
ich blicke ehrlich gesagt nicht durch, da ich nur anfänger bin :roll:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:56 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