Ergebnis 1 bis 8 von 8

Thema: Picture Koordinaten Überprüfung

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Es gibt bei deinem Wurf-Problem zwei Möglichkeiten:

    1.
    Der Wurf ist gerade. Da das komisch aussieht, würde ich gleich mal Variante 2 versuchen. Beharrst du aber weiterhin auf einen geraden Wurf, gleicht die Bewegung einer linearen Funktion. Sprich du kannst nachrechnen, wo sich das Picture gerade befindet. Als Werte brauchst du nur den Start- und Ziel-Punkt sowie die Zeit. Das ist ganz-einfacher Dreisatz; ist die Hälfte der Wurfzeit vorbei, ist auch die Hälfte der Breite und Höhe des Wurfes überwunden. Du brauchst nur den Anteil der Zeit mit der Gesamtbreit bzw. Gesamthöhe zu multiplizieren.

    2.
    Der Wurf ist eine Parabel, Kurve oder sonstwas. Um ein Picture um die Kurve zu bewegen, musst du mit Variablen arbeiten, die dauernd die x- und y-Koordinate wiedergeben. Du hast dann eine Formel, die bei einer gewissen Zeit eine bestimmte Koordinate berechnet und wiedergibt.
    Dazu machst du ein Wait von bspw. 0,0 Sekunden, berechnest dann die Koordinate und lässt anschließend das Picture mit einer Bewegungsdauer von 0,0 Sekunden oder 0,1 Sekunden ohne "wait until done" bewegen (bei einer Bewegungsdauer von 0,0 Sekunden kannst du auch das Wait weglassen und "wait until done" aktivieren). Dadurch wandert das Picture immer weiter. Ist die Formel ein Kurve, bewegt sich das Picture auch um die Kurve. Nimm am besten eine quadratische Gleichung, also etwas mit y = x² (oder um genauer zu sein y = n*(x-a)²+b, wobei n, a und b gewählte Werte sind). In der quadratischen Gleichung ist das x die Zeit und die x-Koordinate (weil sich ein Wurf kontinuierlich in eine Richtung bewegt, Luft und andere Faktoren vernachlässigt) und y die y-Koordinate (die eingetliche Kurvenbewegung).

    Wenn du dich mit der Mathematik nicht auskennst, frage hier noch einmal nach.

    EDIT: Ganz vergessen zu erwähnen: Da du mit Variablen gearbeitest hast bei der zweiten Methode, vergleichst du deren Wert mit dem Gegner statt das Picture abzufragen. Wie der Gegner zu finden ist, hat Dhan schon erwähnt.


    CapSeb

    Geändert von CapSeb (06.02.2009 um 16:22 Uhr)

  2. #2
    @Dhan:Äh...das weiß ich natürlich...

    @CapSebas hab ich schon versucht aber ich bin nicht so bewandert
    mit Mathematik...woher soll ich z.b. wissen wie schnell das picture ist..
    Bitte nochmal helfen.

  3. #3
    Hmmm ich hat wohl nicht realisiert, dass du auch noch die Koords vom Bild abfragen willst.

    Wie wäre es, wenn du kein Move Picture verwendest sondern das Bild Pixel für Pixel neu erscheinen lässt?
    Im Prinzip: Du hast zwei Variablen, die die Scene-Werte des Bildes darstellen. Diese werden von einem Event beständig geändert und zwar in der Art, in der du das auch mit dem Move Picture gemacht hättest und das Bild wird einfach dauernd aktualisiert.

    Schwerer wirds natürlich, wenn sich der Held bewegen kann während sich das Bild bewegt. Dann empfiehlt es sich doch einfach, ein unsichtbares und unfühlbares Event zu erstellen, dass du bewegst und einfach ständig dessen Scene-Werte zu speichern und auf das Bild zu übertragen.

    Noch etwas schwerer wirds, wenn das Ding sich nicht rein vertikal oder horizontal bewegen soll während der Held sich bewegt. Dat geht aber auch, du machst folgendes:
    An die Position des Heldens zum Wurfbeginn wird ein unsichtbares Event gesetzt und es werden zwei Variablen mit 0 initialisiert. Anschließend manipulierst du die Variablen so, dass sie die relative Position zum Startpunkt angeben, Beispiel: wenn das Ding vertikal nach rechts unten fliegen soll, erhöhst du die Variablen beide um denselben Wert
    Anschließend werden ständig die Scene-Werte des unsichtbaren Events gemessen, die relativen Werte der Variablen draufaddiert und das Bild an das Ergebnis angezeigt

    Die Hauptfrage an dich wäre: Was genau willst du machen? Beschreib ma näher

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •