Delphi-PRAXiS
Seite 4 von 6   « Erste     234 56      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Ideen/Anregungen für mein Spiel (https://www.delphipraxis.net/112203-ideen-anregungen-fuer-mein-spiel.html)

everdream 20. Apr 2008 20:47

Re: Ideen/Anregungen für mein Spiel
 
Du solltest entweder die minimale/maximale Fenstergroße setzen (und zwar am besten auf die selben Werte) oder Border auf single setzen, damit die Fenstergröße nicht verändert werden kann.

SemmelRoth 20. Apr 2008 21:00

Re: Ideen/Anregungen für mein Spiel
 
naja wenn du willst kann ich dir auch meinen Code Hochladen also das Projeckt und dann kannste da auch nochn paar Sachen nach gucken aber ich muss halt dazu sagen das es sehr durcheinander ist weil ich mit dem Hauptprogramm angefangen habe und dann die ganze Zeit Funktionen einfüge
Also ich hab ja bei mir alle Türme als Bild mit den Maßen von 60*50px und da habe ich es so gemacht:
In meiner DoMove procedure vom Turm steht:

Delphi-Quellcode:
if CanMove then begin
    while 25+Form1.ScreenToClient(Mouse.CursorPos).X<sX do begin sX:=sX-25; end;
    while Form1.ScreenToClient(Mouse.CursorPos).X>sX+25 do begin sX:=sX+25; end;
    while 30+Form1.ScreenToClient(Mouse.CursorPos).Y<sY do begin sY:=sY-30; end;
    while Form1.ScreenToClient(Mouse.CursorPos).Y>sY+30 do begin sY:=sY+30; end;
    X:= sX-25;
    Y:= sY-30;
    Z:= Round(Y);
    canBuild:=true;
    collision;
    if canBuild then Image := Form1.AdImageList1.Find('build');
    if not canBuild then Image := Form1.AdImageList1.Find('nobuild');
end;
Ich habe eine Bool var genommen die am Anfang auf True steht und nachdem man den Turm gebaut hat auf False gesetzt wird (halt einfach nur damit der Turm sich dann nicht mehr Bewegt) und dann einfach viele kleine while Schleifen (If würde es auch tun aber so ist es besser) und wenn die Maus sich dann halt über 25px in X Richtung Bewegt oder 30px auf Y dann wird je nachdem sX und sY um den Raster Wert erhöt/veringert (in sX und sY habe ich beim erstellen des Sprites/Bildes die Kordinaten gespeichert).
Da wo dann dem X der Wert von sX übergeben wird hab ich einfach noch 25 abgezogen sodass sich der Cursor in der Mitte befindet.
Ja gut Z=Y sollte klar sein denn das was weiter oben auf der Y Achse ist ist weiter entfernt.
Und der Rest bestimmt nur ob man an diesem Ort bauen kann und welches Bild gezeigt wird.
Ich hoffe ich konnte dir Helfen..

naja aber die anderen wollen es ja vergrößern (oder besser gesagt einfach größer haben)... deswegen

The_Doomed 20. Apr 2008 21:51

Re: Ideen/Anregungen für mein Spiel
 
hm ich weiß es auch ni genau wordurch der fehler auftritt aber er kommt wenn ich auf den gegner klicke
^^

is aber eigentlich egal habs eh nur durch zufall gefunden und direkt im spiel passierts eigentlich nich
das mit den scrollbalken hatte ich ja vorher schon erwähnt, dass die größe ni ganz hinhaut, bei mir zumindest

MfG The_Doomed

ps gute Nacht (*gn8*)

SemmelRoth 21. Apr 2008 01:05

Re: Ideen/Anregungen für mein Spiel
 
Ich wollte mich jetzt erstmal dran machen das man Speichern/Laden kann... aber da wollt ich nich einfach ne ini nehmen sondern die ini in ne Rar packen (also das hat ich mir so gedacht) und da hab ich mir die TDFUnRar Kompo geladen (von rarlab) nur ich komm damit nich so klar ich hatte mri das so gedacht der Entpackt das, ich greife auf die Ini zu und lade alle Daten daraus und dann wird der Ordner wieder gelöscht der beim entpacken erstellt wurde
Würdet ihr das anders machen? oder wenn ihr mir da so zustimmt, wie gehts?

Schonmal Danke

everdream 21. Apr 2008 02:17

Re: Ideen/Anregungen für mein Spiel
 
Zitat:

Zitat von SemmelRoth
da wollt ich nich einfach ne ini nehmen

Warum nicht?

Corpsman 21. Apr 2008 06:52

Re: Ideen/Anregungen für mein Spiel
 
Also wenn es dir darum geht das ganze möglichst unlerserlich zu machen dann nimm doch anstatt deiner ini einfach einen TFilestream und speichere wie wild die Variablen rein.

Eine Ini die du gepackt ahst kann jeder entpacken und ändern.

Und sollte es dir nur um den Speicherplatz gehen ist ein Tfilestream auch deutlich besser.

Sollte dir das ganze dann zu langsam gehen must du den umweg über Tmemorystream gehen.

igel457 22. Apr 2008 13:15

Re: Ideen/Anregungen für mein Spiel
 
Ähm... nochmal zu der Sache mit dem Raster. Das geht folgendermaßen um einiges einfacher:
Delphi-Quellcode:
X := (X div RasterX) * RasterX;
Y := (Y div RasterY) * RasterY;
oder
Delphi-Quellcode:
X := trunc(X / RasterX) * RasterX;
Y := trunc(Y / RasterY) * RasterY;

SaFu 22. Apr 2008 13:30

Re: Ideen/Anregungen für mein Spiel
 
Liste der Anhänge anzeigen (Anzahl: 2)
zugriffsverletzungen gibt es immernoch

und davon hab ich bestimmt hundert hintereinander bekommen und dein Spiel ist abgestürzt

Gruß Sascha

SemmelRoth 22. Apr 2008 14:02

Re: Ideen/Anregungen für mein Spiel
 
@ igel:
hm stimmt einleuchtend^^ nur halt statt X div RasterX dann halt die Maus X
hm ja diese blöden Zugriffsverletzungen-.- das doofe ist das ich die noch nie an den Stellen hatte wo ihr mir das meldet aber ich muss mal gucken... es kommt jetzt in der nächsten Zeit (voraussichtlich Heute) ein neues recht großes Update wo ich Funktionen zum Laden und Speichern eingebaut habe.

mfg Robin

mimi 22. Apr 2008 14:10

Re: Ideen/Anregungen für mein Spiel
 
Was ist RasterX ? Die Breite ? Weil ich glaube die Idee hatte ich auch schon, leider meine ich das sie bei mir nicht ging, oder ich muss einfach andere Grafiken nehmen. Die gleich groß sind. Naja eigentlich müssen ja nur die Türme gleich groß sein. Evlt. könnte ich auch ein Mittelwert ermitteln den ich nehmen kann zum rechnen.
Weil so wie es im Moment ist es noch nicht sonderlich toll.

Naja immerhin schießen die Türme schonmal in der Richtigen Richtung wenn ein Gegner vorbei kommt.
Eigentlich müsste ich nur noch ein paar sachen machen, dann währe das Spiel soweit.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:36 Uhr.
Seite 4 von 6   « Erste     234 56      

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