AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte TFahrzeug - Eine Fahrzeug-Klasse
Thema durchsuchen
Ansicht
Themen-Optionen

TFahrzeug - Eine Fahrzeug-Klasse

Ein Thema von Flare · begonnen am 9. Apr 2006 · letzter Beitrag vom 17. Apr 2006
Antwort Antwort
Seite 2 von 3     12 3      
Flare
Registriert seit: 26. Jan 2006
So, da ich es nun (eigentlich schon länger) fertiggestellt habe, wollte ich euch mal zeigen wobei ihr mir geholfen habt.
Hier sind die Links zu den beiden Stellen wo mir geholfen wurde.
Einmal beim drehen eines Rechtecks, einer kleinem Denkfehler mit Forms, einen Fehler mit der Initialisierung von Variablen und einen kompletten Hänger mit Timern.

Es ist ein kleiner Test zur Objektorientierten Programmierung. Ich habe mir eine Klasse Fahrzeug erstellt und davon eine Klasse Roboter abgeleitet, welchen man nun über eine Form fahren lassen kann.

Source und die Test-Exe sind im Anhang.


Flare
Angehängte Dateien
Dateityp: zip fahrzeug_733.zip (223,5 KB, 274x aufgerufen)
 
Sascha L

 
Delphi 2006 Professional
 
#11
  Alt 10. Apr 2006, 17:22
Ich habe auf die schnelle die entscheidenden Änderungen vorgenommen und es klappt.

Das einzige was nicht ganz klappt ist, dass der Roboter nicht vollständig gezeichnet wird. Da du da über dein Code selber besser Bescheid weißt, müsstest du das nur noch anpassen, dass es klappt.

Ansonsten solltest du den Code jetzt von mir im Anhang nicht so lassen! Das ist absolut nicht gut gelöst, sondern nur die Schnelle, damit du siehst, dass es so machbar ist und es nicht mehr flackert.
Angehängte Dateien
Dateityp: rar fahrzeug_409.rar (28,2 KB, 27x aufgerufen)
Sascha
  Mit Zitat antworten Zitat
Flare

 
Delphi 7 Professional
 
#12
  Alt 10. Apr 2006, 17:51
So, ich habe e sjetzt geändert, aber irgendwie habe ich das Gefühl dass es jetzt noch mehr flackern würde als davor, und das mit 25Fps!

Egal...wird schon gehen!
Neue Exe+Source im ersten Posting.


Flare
Willy Scheibel
  Mit Zitat antworten Zitat
mimi

 
FreePascal / Lazarus
 
#13
  Alt 16. Apr 2006, 21:29
nicht schlecht was mir als erstes aufgefallen ist das du ein timer benutzt bei mir steigt da die cpu last immer auf 100% in abhänigkeit mit der Grafik progammierung.

nimm lieber das ein erreignis das immer wider kommmt z.b. onIdle

ich glaube bei einem multimedia timer währe dies auch der fall. ich vermute draum flackert das auch so stark.
Michael Springwald
  Mit Zitat antworten Zitat
Flare

 
Delphi 7 Professional
 
#14
  Alt 16. Apr 2006, 21:41
Da ich davon nicht wirklich ne Ahnung habe...könntest du mir kurz erklären (ein bisschen Code oder etwas zum nachschlagen oder so) ... dann könnte ich das noch ändern. Schön ist es ja nicht, dass es so flackert


Flare
Willy Scheibel
  Mit Zitat antworten Zitat
Benutzerbild von sniper_w
sniper_w

 
Delphi 6 Enterprise
 
#15
  Alt 16. Apr 2006, 22:39
Zitat von Matze:
Wunderschön gelöst und sauber formatierter Code zeigen jedem OOP-Einsteiger (oder auch fortgeschrittenen), wie man mit OOP umgeht. Sehr schön!
Darüber kann man schtreiten, ob es sauber genug ist oder nicht...
Und als "formatierter Code" würde ich es auch nicht bezeichnen.
Katura Haris
  Mit Zitat antworten Zitat
mimi

 
FreePascal / Lazarus
 
#16
  Alt 17. Apr 2006, 09:35
kein problem.
schau dir das besagte ereignis an und kopiere einfach den teil aus dem Timer ereignis in diesen ereignis ein und stelle am anfang die varable done auf False mehr ist das nicht.

such mal nach onIdle hier im Forum
Michael Springwald
  Mit Zitat antworten Zitat
mimi

 
FreePascal / Lazarus
 
#17
  Alt 17. Apr 2006, 09:43
ich weiß jetzt warum das so flackert du rufst im timer:refresh auf mach das mal rauß. und die 100% cpu last kommt von der Draw funktion. wie genau weiß ich noch nicht.
Ich weiß leider nicht meher wie die funtkion heißt aber es ein ersatzt für Pixels weil ich glaube das liegt dran....
also bei mir flackert es nicht mehr ich sende dir mal den geänderten qullcode mit !
Angehängte Dateien
Dateityp: zip fahrzeug_146.zip (221,2 KB, 23x aufgerufen)
Michael Springwald
  Mit Zitat antworten Zitat
Flare

 
Delphi 7 Professional
 
#18
  Alt 17. Apr 2006, 09:55
Nun gut, flackern tuts jetzt nicht mehr, aber irgendwie sind es bei mir trotzdem 100% CPU-Auslastung.

Ich schau mir mal an was du verändert hast.

@sniper_w: Ich hatte auch nicht das unter den Gesichtspunkt hereingestellt ein kleines Beispiel für OOP zu liefern, was am Betsen auch noch perfekt strukturiert ist usw, sondern ich wollte das ergebnis hier präsentieren wobei mir hier sehr gut geholfen wurde.


Flare
Willy Scheibel
  Mit Zitat antworten Zitat
mimi

 
FreePascal / Lazarus
 
#19
  Alt 17. Apr 2006, 11:37
wie währes noch wenn prüfen würdes ob das fahrzeug am rand ist weil irenwann ist es auser reichweite...

eine prüfung ist nicht schwer z.b. könntes du es so wie lings und recht machen:
if (x+speed)-fahrzeugbreite) >=0 then neue linke position // für lings
if (x+speed)+fahrzeugbreite) <=Form1.withd then neue linke position // für rechts

+speed ist die geschwindigkeit in der du das fahreug bewegt und so kannst du vorrauschauend prüfen ob eine collision mit der linken oder rechten seite stattfindet.

müste funktion getestet habe ich es jetzt nicht.

und die 100% cpu last kommt 100% von draw fuktion: pixel[x,y]:=clblack
Michael Springwald
  Mit Zitat antworten Zitat
Flare

 
Delphi 7 Professional
 
#20
  Alt 17. Apr 2006, 13:42
Die Abfrage ob er außerhalb des Bildes ist, die ist schon längst drin! Ich weiß nicht ob du das geschrieben hast ohne dir mein Programm anzugucken oder ob du es vergessen hast, auf jeden fall gibt es das schon längst

Kennst du eine andere (bessere) Methode das zu umgehen?


Flare
Willy Scheibel
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18: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