Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi 2D game re :) (https://www.delphipraxis.net/109606-2d-game-re.html)

Maltimore 4. Mär 2008 13:47


2D game re :)
 
hey leute!

ich hab schon vor ein paar tagen ein paar fragen zu meinem 2D game gestellt, und es haben auch viele geantwortet, aber dann hab ich noch welche gestellt und niemand hat geantwortet :( deswegen poste ich es jetz noch mal (auch mit zusätzlichen fragen).

Also, ich habe folgendes problem: ich möchte meine spielfigur, die eine image komponente ist, in der mitte des formulars platzieren. da das spiel im vollbildmodus läuft, möchte ich es gerne per algorithmus machen und nicht sozusagen pi mal daumen :D

nun habe ich mir folgendes überlegt:

Delphi-Quellcode:

form1.image1.left := form1.width div 2 + form1.image1.width;
form1.image1.top := form1.height div 2 + form1.image1.height;
das habe ich in die form activate methode geschrieben. kann es sein dass die gar nicht aufgerufen wird bei mir??? (also es ist ein sehr einfaches programm, ich habe nichts kompliziertes da drin (kann ich auch nicht) und shcon gar nicht arbeite ich irgendwie mit mehreren formularen oder so und wenn ich das programm laufen lasse sehe ich das formular auch also müsste diese methode eigentlich aufgerufen werden oder?

oder hab ich jetz so von hinten durch die brust ins auge gedacht? :-D

greetz euer maltimore

Corpsman 4. Mär 2008 13:49

Re: 2D game re :)
 
Delphi-Quellcode:

form1.image1.left := (form1.width - form1.image1.width )div 2;
form1.image1.top := (form1.height - form1.image1.height)div 2;
Und das kannst ruhig in Create rein machen.

DeddyH 4. Mär 2008 13:52

Re: 2D game re :)
 
Wenn es in FormCreate von Form1 steht, lieber das Form1 weglassen und dafür self nehmen:
Delphi-Quellcode:
image1.left := (self.width - image1.width )div 2;
image1.top := (self.height - image1.height)div 2;

Maltimore 4. Mär 2008 14:50

Re: 2D game re :)
 
alles klar :wall: aber warum hat denn meins nicht funktioniert? ich hab mirs so gedacht, dass ich die untere rechte ecke genau in der mitte haben wollte. dann habe ich also die hälfte der form genommen, und noch mal jeweils die höhe und breite draufgerechnet, so dass mit der zuweisung .left und . top das doch eigentlich auch hätte klappen müssen oder? wo hab ich mich denn da verrant? außerdem ... ich muss da noch n grundsätzlichen denkfehler haben oder? weil ich stell mir das so vor das ich bei der y koord. verschiebung einfach noch ne zahl draufaddieren kann und das image dann um diese zahl nach unten verschoben wird. klappt aber nicht. warum? =(

Corpsman 4. Mär 2008 20:56

Re: 2D game re :)
 
Top und Left geben eben die Linke Obere Ecke an.


Bei Delphi ist der Nullpunkt Links Oben.

Maltimore 6. Mär 2008 14:20

Re: 2D game re :)
 
ja weiß ich. aber die frage haste nciht beantwortet. warum kann ich nicht einfach bei der anweisung noch was draufaddieren (nen zahlenwert) und somit die grafik weiter nach unten verschieben?

Fussball-Robby 6. Mär 2008 14:26

Re: 2D game re :)
 
Zitat:

Zitat von Maltimore
ja weiß ich. aber die frage haste nciht beantwortet. warum kann ich nicht einfach bei der anweisung noch was draufaddieren (nen zahlenwert) und somit die grafik weiter nach unten verschieben?

Hast du doch am Anfang gemacht, genauso kannst du es auch jetzt machen, und der Wert wird doch auch draufgerechnet, bei mir ist das Bild jedenfalls weiter unten und weiter rechts

Mfg

Maltimore 6. Mär 2008 16:47

Re: 2D game re :)
 
siehste eigentlich müsste es gehen aber das tut es einfach nicht Ô.ô nervt mich grada voll ab ich peil nich was ich falsch gemacht habe.
naja, nun habe ich noch ein problem. und zwar möchte ich es ja so machen, dass sich die person nicht mehr bewegt, sondern der hintergrund. ich habe vor, diesen aus ganz vielen kleineren images zusammenzusetzen. Sonst weiß ich nämlich nicht wo die figur mit einem Hindernis kollidiert. nur gibt es dann das problem das alle 10ms so ungefähr 50 images verschoben werden sollen, und ich weiß nciht wie mein pc das dann so findet :?

so rasend komisch jedenfalls bestimmt nicht. weiß jemand wie die profis das machen? ich kanns mir beim besten willen nicht vorstellen.

Fussball-Robby 6. Mär 2008 16:57

Re: 2D game re :)
 
Also zunächst mal: Wann die Figur mit einem Hindernis kollidiert, solltest du nicht von der Oberfläche abhängig machen, sondern irgendwo eintragen, wo was ist, und wann man mit was kollidiert.

Für die grafischen Dinge gibt es aber auch genug Komponenten/Tutorials. Einfach mal suchen

Mfg

dominikkv 6. Mär 2008 17:06

Re: 2D game re :)
 
Zitat:

Zitat von Maltimore
weiß jemand wie die profis das machen? ich kanns mir beim besten willen nicht vorstellen.

openGL etc


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:36 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz