Seite 1 von 2
Sprites im ImageGadget?
Verfasst: 09.03.2009 20:33
von Blackskyliner
Hallo,
ist es möglich Sprites im Image Gadget zu benutzen?
Ich versuche ein Programm zu schreiben, wo ich ein Koordinatensystem habe und einen Punk auf einer Linie entlang bewegen will, und da hab ich mir gedacht, dass es einfacher wäre diesen Punkt als Sprite zu machen, damit nicht immer das ganze Diagramm neu gemalt werden muss... Wenn es "besser" geht als ich es vorhabe, bin ich für jeden Vorschlag offen, hab nämlich keine allzu große Ahnung, wie man sowas realisiert.
Danke.
MFG
Blackskyliner
Verfasst: 09.03.2009 20:39
von Kaeru Gaman
> ist es möglich Sprites im Image Gadget zu benutzen?
nein
WindowedScreen benutzen, oder das Diagramm aus unterschiedlichen Teilen aufbauen.
> wo ich ein Koordinatensystem habe und einen Punk auf einer Linie entlang bewegen will
beschreib das mal bitte genauer, damit man sehen kann, was wirklich besser wäre...
Verfasst: 09.03.2009 20:43
von PMV
Was spricht gegen die Nutzung von Images?
MFG PMV
Verfasst: 09.03.2009 20:50
von Blackskyliner
Also...
Ich habe mir vorgenommen ein kleines Programm zu Demonstrationszwecken für den Schrägen Wurf zu basteln.
Da soll dann Diagramm ähnlich mit x-y-Diagramm gezeigt werden, wie sich das Objekt nun auf der Bahn bewegen würde.
Ich hatte vor es als Windows-Fenster Anwendung zu schreiben, da nebenbei auch ein Paar werte Angezeigt werden sollen, die so als Neben Produkt herauskommen, wie z.B. Energie, etc. Zudem soll man dann bei dem Diagramm verschiedene Richtungsvektoren ein-/ausschalten können. Also in welche Richtung diese oder jene Kraft grade zeigt und wie groß die in dem Moment ist. Auch Beschleunigung, etc. (auch wenn diese konstant bleibt

)
Der Benutzer soll halt auch Werte eingeben können (mindestens 2 oder 3) Worauf hin der dann auch die anderen Werte berechnen würde.
Und da ich mich mit dem 2d Zeichnen noch nicht allzu dolle beschäftigt hatte, von wegen Input von dingen innerhalb eines Openscreens, oder gar UI-Elementen, habe ich mir gedacht es wäre besser das als normale GUI mit einem ImageGadget zu machen.
So nun ratet mir mal wie ich's am besten machen kann

Verfasst: 09.03.2009 21:02
von Kaeru Gaman
> So nun ratet mir mal wie ich's am besten machen kann
*achselzuck* so wie du am besten klarkommst...
eine möglichkeit wäre zwei fenster, eines mit nem windowedscreen drin und eines für die eingabeelemente,
das wär womöglich die einfachste lösung....
du kannst natürlich auch nen kleinen windowedscreen dahin setzen, wohin du das ImageGadget setzen wolltest.
Verfasst: 09.03.2009 21:19
von Blackskyliner
Und dann könnte ich das WindowedSceen Fenster via
Code: Alles auswählen
SetParent_(WindowID(1), WindowID(0))
MoveWindow_(WidowID(1), 0, 0, 640, 480, 0)
;Oder so ähnlich, kann mir ja auch das handle beim erstellen abfangen...
tarnen. Keine schlechte Idee
Ich denk mal, dass ich es so machen werde.
Danke.
Blackskyliner
Verfasst: 09.03.2009 21:20
von Kaeru Gaman
hä?
tarnen?
wozu?
wieso Console?
.....
... Ägypten...?
Verfasst: 09.03.2009 21:23
von PMV
Naja nen Window ist schon mal keine schlechte Wahl dafür. Die Gadgets
als Eingabemöglichkeit zu nehmen ist sicher die aktuell einfachste
Möglichkeit mit PB.
Da man Images auch recht schnell dem ImageGadget schicken kann ... du
vermutlich viel mit den 2D-Drawing-Befehlen arbeiten wirst und Images
auch auf Images recht zügig gezeichnet werden kann, würde ich das
wählen. So würd das ganze auch auf rechnern laufen, die kein DirectX
oder eine nur ganz veraltete Version haben.
So musst dich auch nicht noch extra mit den Sprite-Befehlen rumschlagen
um ein WindowedScreen aktuell zu halten. Wenn die Animation des Wurfs
beendet ist brauchst du eigentlich nix weiter machen bei einem
ImageGadget, da Windows die Anzeige komplet selber verwaltet. Wenn es
nen WindowedScreen wäre müssteste immer noch weiter FlipBuffers()
aufrufen.
Letzten Endes ist die Ausgabe aber mit WindowedScreen() wie mit einem
ImageGadget() ziemlich ähnlich lösbar und somit unterscheidet sich das
ganze nur in den Anforderungen, die das Zielsystem hat auf dem dein
Programm laufen soll. DirectX7 (oder 9) ja/ nein? Wenn die Animation
etwas komplexer ist stellt sich vielleicht am ende noch die Frage, ob hohe
FPS gewünscht sind bei schwachem Prozessor aber DX7 fähiger
Grafikkarte? In dem Fall wären Sprites wohl wieder besser. Vermute aber
mal nicht, dass du ein Grafikfeuerwerk zaubern willst, sondern einfach nur
ne zweckmäßige Animation ... also Images.
MFG PMV
Verfasst: 10.03.2009 00:24
von Blackskyliner
Hat eigentlich mal jemand ein ImageMerge() oder so programmiert, mit dem man von PB erstellte Images zu einem zusammenfassen könnte?
Weil meine nächste Idee jetzt grad so beim rumtesten war es einfach das koordinatensystem zu malen und dieses dann als erste virtuelle Ebene anzeigen zu lassen. Danach als dann die Kurve als extra Ebene und dann das Objekt als extra Ebene (müsste dann ja auch mit Transparenz klarkommen).... Zu umständlich ja/nein?(ich denke ja...)
Dann nochmal zu der normalen Verwendung von Image, da ich mal denkde das das vonmir gepostete zu komplex werden würde für ein solch kleines Projekt...
Könnte mir einer ein kleines Script geben,wo eine Senkrechte, oder was ähnliches, drauf ist und sich ein Kreis dann über die Linie "hinwegbewegt", als keine Lernhilfe geben? Wäre echt sehr hilfrech
Danke.
Blackskyliner
Verfasst: 10.03.2009 00:43
von Kaeru Gaman
also, mit image würde ich das in mehreren lagen machen:
ein allgemeines Raster auf Image A drawen.
wenn eine neue Kurve erstellt wird, die Kurve berechnen und in einem Array speichern,
Image A (mit Raster) auf Image B drawen, dann die Kurve drüber.
zur Anzeige, für jeden Schritt Image B (mit Raster und Kurve) auf Image C Drawen,
einen Circle an die Stelle des aktuellen wertes (aus dem Array) drawen,
das ImageC auf dem Imagegadget darstellen.