![]() |
Re: [Game] 2.6D - Sandb(L)ox
Zitat:
*edit: moment das kann garnicht sein... es wird schon geguckt ob der focus auf dem fenster ist!... |
Re: [Game] 2.6D - Sandb(L)ox
Liste der Anhänge anzeigen (Anzahl: 1)
Hm, ich hatte ein paar Grafikfehler, als ich ganz im Eck (da wo schon ein Männlein steht) einen hohen Turm baue (siehe Anhang) .. d.h. der oberste Klotz ist nicht sichtbar und in der Mitte irgendwo hat ein Block "Löcher"...
|
Re: [Game] 2.6D - Sandb(L)ox
das passiert wenn du zu hoch baust... ich muss gucken was ich machen kann damit das nichtmehr passiert weil ich nicht "erlauben" kann dass man unendlich hoch baut da sonst zuviel arbeitspeicher verbraucht wird (obwohl ich eigendlich eine idee hätte den code umzuschreiben, sodass das ganze spiel weniger verbruacht und die blöcke in alle richtungen unbegrenzt sind...)
|
Re: [Game] 2.6D - Sandb(L)ox
Du speicherst die Blöcke in einem dreidimensionalen Array? :shock:
Warum nicht einfach eine Liste? |
Re: [Game] 2.6D - Sandb(L)ox
Zitat:
Zitat:
und mit einer solchen liste habe ich bis jetzt noch nicht gearbeitet, da ich bis jetzt nur "TSRings" oder "TStringList" benutzt habe... |
Re: [Game] 2.6D - Sandb(L)ox
Also ich benutze die ständig.
Ist doch einfach!
Delphi-Quellcode:
for i := 0 to 10 do
begin VarX := TX.create(...); VarX.X := 100; Liste.add(VarX); end; |
Re: [Game] 2.6D - Sandb(L)ox
was für eine klasse ist "liste" es muss ja eine liste sein in der ich positionX,positionY,positionZ,(evtl noch einige andere daten wie textur farbe etc) speichern kann... natürlich geht das auch als string den man dann splittet aber die variante mag ich irgendwie nicht ^^
|
Re: [Game] 2.6D - Sandb(L)ox
Du kannst doch auch Listen mit Klassen als Listenelement machen.
|
Re: [Game] 2.6D - Sandb(L)ox
Records sind natürlich auch möglich:
Delphi-Quellcode:
type TBlock = record
posx, posy, posz : integer; end; PBlock = ^TBlock; var lst : TList; p : PBlock; Hinzufügen: lst := TList.Create; New(p); p^.posx := 0; lst.Add(p); Auslesen: p := lst.Items[i]; xpos := p^.posx; Löschen: p := lst.Items[i]; Dispose(p); Delete(i); |
Re: [Game] 2.6D - Sandb(L)ox
Zuerstmal hast du wohl eine "Feldklasse":
Delphi-Quellcode:
Und entweder nimmst du einfach so eine Liste (Da das Object alles sein könnte, muss man sich sicher sein, was man da macht!):
TBlock = class(TObject)
private FX, FY : Integer; public property X : Integer read FX; property Y : Integer read FY; constructor Create(const AX, AY : Integer); end;
Delphi-Quellcode:
Oder du erstellst dir selber eine Liste (aufwendiger ab im endeffekt Fehlersicherer):
FList : TObjectList;
[...] FList := TObjectList.Create; [...] block := TBlock.Create([...]); [...] FList.Add(block); [...]
Delphi-Quellcode:
Und fertig ;)
TBlockList = class (TObject)
private FList : TObjectList; function GetBlock(AIndex : Integer) : TBlock; procedure SetBlock(AIndex : Integer; Value : TBlock); public procedure Add(ABlock : TBlock); procedure Delete(ABlock : TBlock); property Bloecke[AIndex : Integer] : TBlock read GetBlock write SetBlock; default; constructor Create; destructor Destroy; end; Naja jedenfalls die Definition der Klassen. Diese kannst du genauso wie eine TObjectList-Liste verwenden. MfG xZise PS: Das "default;" hinter der Property bedeutet, dass man die nicht aufrufen muss. Wenn du das bei TStrings machst, machst du ja meißt "MyTStrings[<Zeile>]" ;) |
Re: [Game] 2.6D - Sandb(L)ox
Könn't ich mal einen Screenshoot vom Progrämmchen bekommen, bitte-dankeschön?
|
Re: [Game] 2.6D - Sandb(L)ox
Zitat:
also ich hab im moment keine zeit~erstmal hausaufgaben zu machen und dann das mit der liste ausprobieren... vielleicht ist jemand anderes gerade mal so nett? |
Re: [Game] 2.6D - Sandb(L)ox
Zitat:
[Fehler] Unit1.pas(59): Undefinierter Bezeichner: 'TBlock' [Warnung] Unit1.pas(68): Methode 'Destroy' verbirgt virtuelle Methode vom Basistyp 'TObject' [Fataler Fehler] Unit1.pas(205): Verwendete Unit 'Physik.pas' kann nicht compiliert werden |
Re: [Game] 2.6D - Sandb(L)ox
Du musst mindestens die Deklaration des TBlock VOR der Deklaration der Liste bringen, da diese das Objekt TBlock sonst nicht kennt!
Edit: Ach ja und du solltest kucken, ob für TObjectList nicht eine Unit eingebunden werden muss! |
Re: [Game] 2.6D - Sandb(L)ox
was ist mit object list? scheint es auch nicht zu geben...
|
Re: [Game] 2.6D - Sandb(L)ox
TObjectlist ist in der Unit contnrs deklariert.
Sieht übrigens sehr interessant aus, was du da machst! (mehr kann ich dazu jetzt noch nicht sagen :stupid:) |
Re: [Game] 2.6D - Sandb(L)ox
Such mal in der Delphi Hilfe nach TList und Co.
|
Re: [Game] 2.6D - Sandb(L)ox
Und bei Destroy noch ein override; dahinter. ;)
|
Re: [Game] 2.6D - Sandb(L)ox
Zitat:
Würde man verstehen, was ich da geschrieben habe, wüsste man, was man gegen die Fehler machen müsste ^^ Bezüglich der TObjectList: Einfach markieren (oder mit der Maus "reinklicken"), so dass der Cursor im Wort ist und dann drücke mal "F1" (also die Taste) und oh wunder: Die Delphi Hilfe wird dir sagen, dass du "Contrs" hinzufügen musst. Übrigens hat TObjectList den Vorteil gegenüber der TList bei Objekten, dass es weiß "wovon" es redet. Die TList könnte auch eine Integer-List sein ;) So kann die TObjectList automatisch die Objekte freigeben, sobald es selber freigegebn wird (Standard), oder Objekte freigeben die aus der Liste gelöscht werden. MfG xZise |
Re: [Game] 2.6D - Sandb(L)ox
Ich bezog mich auf die Fehlermeldungs-Liste von custom. ;)
|
Re: [Game] 2.6D - Sandb(L)ox
Zitat:
|
Re: [Game] 2.6D - Sandb(L)ox
Zitat:
Es wird nur der Würfel überall gebaut, aber z.B. die WASD-Steuerung beschränkt sich nur auf das aktive Fenster. wenn ich würfel baue ... ganz viele übereinander ... dann gibt es ja eine Genze (Höhe), bis zu der neue Würfel entstehen ... allerdings wird die Figur immer weiter hochgesetzt, selbs wenn kein Würfel mehr entsteht und dort bleibt die dann auch schweben. |
Re: [Game] 2.6D - Sandb(L)ox
das ist ein fehler von array... ich schreibe den ganzen code gerade um so dass die blöcke in einer liste gespeichert sind, das ganze macht allerding zimlich viele probleme... dass auch das "creatool" auf das fenster beschränkt ist muss ich noch einbauen ... danbke für den hinweis!
|
Re: [Game] 2.6D - Sandb(L)ox
so tests mit der liste sind fertig und was dabei rauskam icht nichts was vorteile brachte... bei ca. 5-10 block fängt das spiel an extremst zu ruckenln, ab bei etwas mehr bleibt das ganze stehen. (aber die musik läuft weiter)
*edit: gut das hab ich hinbekommen ^^ bald kommt ein neues update! durch dieses werden dann auch farbige blöcke möglich und man kann unendlich in jede richtung bauen |
News
Neue version ist am ersten Post angehängt.
|
Re: [Game] 2.6D - Sandb(L)ox [Update 20.02.08 13:54]
Also irgendwie steht die zweite Person bei mir zimelich weit unten also unter den blöcken!
|
Re: [Game] 2.6D - Sandb(L)ox [Update 20.02.08 13:54]
Is ja lustig:
Zitat:
MfG xZise |
Re: [Game] 2.6D - Sandb(L)ox [Update 20.02.08 13:54]
[ot]
Boah, jetzt häng dein Projekt bitte mal im Forum an, und nutz nicht diesen Rapidshare-Scheiß! Ich hab echt keine Lust mehr 2 Minuten (ich musst nämlich zweimal ne Minute warten, weil das Captcha uneindeutig war) lang zu warten, bis der Download erstmal anfängt, und dann noch mal 5 Minuten warten Download endlich fertig ist, nur um DEIN Programm zu testen :wall: [/ot] Sry, das musst jetzt mal sein |
Re: [Game] 2.6D - Sandb(L)ox [Update 20.02.08 13:54]
Zitat:
Ich habe mal mit 7z auf Kompressionsrate Ultra alles bis auf die Musik von 5 auf 1,5 MB runterkomprimiert. Also mit der Musik lässt sichs nicht so gut komprimieren... jedenfalls mit 7z nicht. MfG xZise |
Re: [Game] 2.6D - Sandb(L)ox [Update 20.02.08 13:54]
OO ganz mieser BUG!
Drückt mal "c" im Spiel! Aber ein Lob gibt es zu der neuen Version: -Sie läuft etwas schneller ! |
Re: [Game] 2.6D - Sandb(L)ox [Update 20.02.08 13:54]
Zitat:
Das ist warscheinlich auch der Grund warum ich es noch nicht geladen hab. Zitat:
da es schon komprimiert ist. :stupid: Tipp: Chiptunes. :mrgreen: |
Re: [Game] 2.6D - Sandb(L)ox [Update 20.02.08 13:54]
joa plz das nächste mal im forum anhängen, hab die datei runtergeladen und war vol gespannt auf die neue version, aber nu, crc fehler in der zip datei nochmal laden geht grad net, muss ja ne halbe stunde warten *grml*
Also wird heute nix mehr draus, aber morgen evtl. chris |
Re: [Game] 2.6D - Sandb(L)ox [Update 20.02.08 13:54]
Zitat:
Zitat:
Zitat:
Zitat:
|
Re: [Game] 2.6D - Sandb(L)ox [Update 20.02.08 13:54]
Zitat:
Zitat:
MfG xZise |
Re: [Game] 2.6D - Sandb(L)ox [Update 20.02.08 13:54]
spätestens in der beta wird gescheite uploads + packagaes + updates geben ^^
|
Re: [Game] 2.6D - Sandb(L)ox [Update 20.02.08 13:54]
Zitat:
|
Re: [Game] 2.6D - Sandb(L)ox [Update 20.02.08 13:54]
Zitat:
Ich hab vielleicht etwas "überreagiert", aber ich finde es ärgerlich, wenn ich erst so lange warten muss, bis ich ein Programm testen kann. Ich hab's mir ja trotzdem geladen, aber es gibt sicher einige User, die das vom Download abhält. Und das ist ja auch nicht in deinem Interesse :zwinker: |
Re: [Game] 2.6D - Sandb(L)ox [Update 20.02.08 13:54]
Also ich brauche da insgesamt nur so 2-3 min und das ist meiner Meinung nach nicht zu viel
|
Re: [Game] 2.6D - Sandb(L)ox [Update 20.02.08 13:54]
Nach einem Reconnect (habe eben schon was anderes bei RS runtergeladen) und weiteren 58Sek. Wartezeit durfte ichs ja auch wieder downloaden - und habs dann gleich wieder bei mir hochgeladen. Wer also wieder auf RS verzichten möchte:
![]() Irgendwie kann man vom Rand des Spielfeldes runterfallen, das ist irgendwie doof.. weil da fällt und fällt man dann halt ewig. Außerdem find ichs nach wie vor beim bauen etwas doof dass wenn man an der Seite von nem Klotz hängt und dann ganz schnell mehr Blöcle seitlich dranbaut, irgendwann einfach runterfällt.. dann komm ich ja nur wieder hoch wenn ich mir nochn Turm baue... |
Re: [Game] 2.6D - Sandb(L)ox [Update 20.02.08 13:54]
Zitat:
MfG xZise |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:20 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