Autor |
Beitrag |
pigfacejoe
      
Beiträge: 332
Erhaltene Danke: 1
Win 10, Ubuntu
Delphi,Javascript, PHP, Java, Python
|
Verfasst: Fr 20.10.06 17:02
hallo,
ich habe in der Schule Grundlagen von Delphi gelernt, alles andere hab ich mir selbst beigebracht.
Ich will jetzt ein Spiel machen , ähnlich wie Moorhuhn. Ich habe bisher die Hühner immer durch einen Timer (bsp. alle 50 Millisekunden image1.left+1 oda so)bewegt. Allerdings denke ich das dies eine sehr unschöne Lösung ist, mir ist aber sonst nichts eingefallen.
Es gibt doch ganz bestimmt eine schönere Lösung, oder?
PS: Das mit dem Image finde ich sowieso sau dummm, weil da immer der Rand noch zu sehen ist und weil das Bild "flattert".
Mfg
PigfaceJoe
|
|
Leuchtturm
      
Beiträge: 1087
Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
|
Verfasst: Fr 20.10.06 17:54
Also wenn du ein kleines Spiel programmieren willst würde ich dir entweder OpenGL oder DirectX empfehlen.
Für DirectX könntest du auch DELPHIX(für die älteren Delphis) oder UNDELPHIX(für die neuern) benutzen.
Leuchtturm
_________________ Ich bin dafür verantwortlich was ich sage - nicht dafür was du verstehst.
|
|
Martok
      
Beiträge: 3661
Erhaltene Danke: 604
Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
|
Verfasst: Fr 20.10.06 18:15
Wo ich glatt dagegenhalte und Sage: nimm lieber OpenGL.
Dazu gibts FEAR2D
Wobei die Frage, DirectDraw oder OpenGL ein Glaubenskrieg ist. Allerdings sind die Delphix-Komponenten nicht die Bugfreiesten, von daher...
Martok
_________________ "The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
|
|
TuringTracer
Hält's aus hier
Beiträge: 12
|
Verfasst: Fr 20.10.06 18:38
Hi pigfacejoe
Also wenn dein Problem nur das Flackern und der Rand ist, kannste ja mal unter Flackern von Grafiken gucken und den Rand mit .border := 0; ausschalten... Denke allerdings auch, das du langfristig, nicht um OpenGL herumkommst! Würd dir dafür GLScene und Delphi3D empfehlen...
Viel Spaß !
|
|
Blackheart666
      
Beiträge: 2195
XP
D3Prof, D6Pers.
|
Verfasst: Fr 20.10.06 21:45
Delphi ist einfach nicht die Sprache für anspruchsvolle Spiele, da ist wohl eher C++ der Favorit.
("Was nicht heißen soll das es nicht geht")
Eine noch sehr mächtige und sehr einfach zu erlernende Sprache
wenn es um Spiele geht ist BlitzBasic 2D - 3D da sie direkt für die Spiele Entwicklung konzipiert ist.
www.blitzbasic.de/
|
|
pigfacejoe 
      
Beiträge: 332
Erhaltene Danke: 1
Win 10, Ubuntu
Delphi,Javascript, PHP, Java, Python
|
Verfasst: Mo 23.10.06 09:53
Wie meinst du das mit border:=0??
|
|
Blackheart666
      
Beiträge: 2195
XP
D3Prof, D6Pers.
|
Verfasst: Mo 23.10.06 10:01
Gegen das Flackern hilft meistens
Delphi-Quelltext 1:
| Form1.DoubleBuffered:=True; |
Border gibts bei Html.
Blackheart666
_________________ Blackheart666
Der Irrsinn ist bei Einzelnen etwas Seltenes, - aber bei Gruppen, Parteien, Völkern, Zeiten die Regel. (Friedrich Nietzsche)
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Mo 23.10.06 11:25
je nachdem wie anspruchsvoll das Spiel von der Grafik her sein soll, reichen auch die VCL-Komponenten. Generell ist dann der Weg über einen Timer nicht verkehrt.
Den "Rand" bei den Images bekommst du weg, in dem du die Transparenz der Bilder auf True stellst. Kann sein, dass du einen anderen Effekt meinst - den würde man wegbekommen, wenn man PNG-Komponenten nimmt, die Halbtransparenz etc. unterstützen.
In diesem Thread habe ich auch mal ein kleines Spiel vorgestellt, und auch etwas Quellcode gepostet. Idee bei mir ist, dass ich die Shapes (ginge mit Images aber genauso) um ein paar Eigenschaften erweitert habe, nämlich um DeltaX und DeltaY, wo die Geschwindigkeit in X bzw. in Y-Richtung angegeben wird, sowie um ExactLeft, ExactTop, was Real-Varianten von Top und Left sind, sodass man auch nicht ganzzahlige Schritte gehen kann. Damit hat man mehr Spielraum, was die Geschwindigkeit der Bewegung angeht.
Wenn es aber anspruchsvoller werden soll, und du generell in die Spieleprogrammierung einsteigen willst, dann sind die anderen Vorschläge aus diesem Thread sicherlich nicht verkehrt 
_________________ We are, we were and will not be.
|
|
pigfacejoe 
      
Beiträge: 332
Erhaltene Danke: 1
Win 10, Ubuntu
Delphi,Javascript, PHP, Java, Python
|
Verfasst: Mo 23.10.06 12:59
Danke für die Tips!
Mit "Rand " meine ich:
Wenn ich eine .gif Datei (die sich bewegt) in ein image Laden (uses halt noch GifImage einfügen)will,obwohl der Hintergrund des Bildes schwarz ist (Wie der Hintergrund des Forms) wird er weiss. Keine Ahnung wieso. Wenn ich auf Transparent stelle das Gleiche:
Am Anfang schwarz, dannach wird der Rand weiss.
Nur zum Verständnis:
Ich habe animierte Fahrzeuge, die von einem zum anderen Rand des Forms fahren sollen.
Wenn sie eine bestimmte Breite überschreiten dann sollen sie wieder an den anfang gesetzt werden, Sodass es so aussieht als ob sie von links nach rechrs fahren würden und immer wieder kommen. Das klappt ja auch so weit, nur das halt nach einer Bahn der Rand weiss wird, obwohl er vorher schwarz war.
So ich hoffe das ist verständlich^^
Vielen Dank für eure Antworten!
|
|
F34r0fTh3D4rk
      
Beiträge: 5284
Erhaltene Danke: 27
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: Mo 23.10.06 14:07
ich denke mal mit FEAR2D wirst du diese probleme nicht haben. das mag zwar nach schleichwerbung klingen, aber die engine ist halt für genau sowas konzipiert und wenns probleme gibt, bin ich da
www.delphi-forum.de/...7&highlight=fear
mfg
|
|
|