Ergebnis 1 bis 10 von 10

Thema: Sch... Problem mit der Maus des Keypatch -[HILFE!]-

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    Kernle 32DLL Gast

    Sch... Problem mit der Maus des Keypatch -[HILFE!]-

    Hi Leute !
    Wie im Betreff hab ich ein prob mit der Maus.
    Undzwar:

    Ich habe das Problem,dem Maker zu sagen das er Aktion XXX ausführen
    soll,wen die Maus an den Cordinaten XXX-X und XXX-Y ist.
    Das EIGENTLICHE Problem dabei ist,die Cordinaten rauszufinden.
    Und es kommt noch härter:

    Ich will es so machen,das wen man auf einen der im folgendem Bild
    enthaltenen Bildschirme drückt,Aktion XXX ausgeführt wird.
    Und DA liegt das Prob....

    Das Bild dazu:
    (Bitte Mods ! Nicht verlinken,da das mit meinem Webspace nicht funzt)


  2. #2
    Ähm und wo ist dabei das Problem? Es gibt beim Patch ne Dokumentation dazu, wie man die Maus benutzt (und zB X und Y-Position in Varis speichert).
    Präzisier mal dein Problem.

  3. #3

    Kernle 32DLL Gast
    Das ist ja das Prob ! Ich kanns nicht genau erklären !
    Es ist so:

    Die Posi der Maus wird ja in 2 Variablen gespeichert (MausX und MausY)
    Die stehen dann ja auch logischerweise für die X bzw. Y Achse der Maus.
    Das Problem ist nun:

    Ich will machen,das wen man die Maus auf einen der Bildschirme Scrolt,
    und man klickt,Effekt XXX ausgeführt wird.Also wie kann ich einen
    Bereich auf dem Bild festlegen,indem der Effekt XXX ausgeführt wird,
    wen man in diesem Breich klickt ?

    Ich hab echt keine Idee wie ich mein Prob beschreiben soll @_@

  4. #4
    Immer wenn man klickt, callst du das hier:
    Code:
    If Var(Maus X)>= linker Rand des Bildschirms
      If Var(Maus X)<= rechter Rand des Bildschirms
        If Var(Maus Y)>= oberer Rand des Bildschirms
          If Var(Maus Y)<= unterer Rand des Bildschirms
            Effekt XXX wird ausgeführt
          End Case
        End Case
      End Case
    End Case
    Und das entsprechend für alle Bildschirme.

  5. #5
    Wenn ich nur daran denke, wie viele Forks man dafür braucht... Nee, wat bin ich froh, daß es in vernünftigen Skript- und Programmiersprachen stich gibt (das Conditional Statement, nicht die schlecht benannte Bool-Variable im Maker).

    Ich hab' etwas derartiges schon gemacht... Du mußt im beim Klicken (4 * Anzahl der klickbaren Bereiche) Forks machen. Wenn die Bereiche keine Rechtecke sind hast du Pech gehabt, dann erhöht sich die Anzahl der Abfragen gewaltig. Das Ergebnis ist praktisch unlesbar, aber die Maker-Skriptsprache verbindet ja eh die Macht von Basic mit der Lesbarkeit von Assembler...

  6. #6
    Tja, ich kann seinen Frust gut verstehen, denn ich leide unter demselben Problem. Ich hab mir das Beispielspiel mal im Maker angesehen und bin hierauf gestoßen:

    If Var(Mausposition Scene X)47 above
    If Var(Mausposition Scene Y)9 above
    If Var(Mausposition Scene X)271 less
    If Var(Mausposition Scene Y)38 less
    Var Change(Demogame)Set 1
    Call Event Gegnerzahl 1
    End Case
    End Case
    End Case
    End Case

    Der Sinn ist mir klar: Wenn man in einem bestimmten Bereich klickt, wird die Variable gechanged und das Event gecallt. Aber wie kommt man auf die Zahlen?

  7. #7
    Tja, ich kann seinen Frust gut verstehen, denn ich leide unter demselben Problem. Ich hab mir das Beispielspiel mal im Maker angesehen und bin hierauf gestoßen:

    If Var(Mausposition Scene X)47 above
    If Var(Mausposition Scene Y)9 above
    If Var(Mausposition Scene X)271 less
    If Var(Mausposition Scene Y)38 less
    Var Change(Demogame)Set 1
    Call Event Gegnerzahl 1
    End Case
    End Case
    End Case
    End Case

    Der Sinn ist mir klar: Wenn man in einem bestimmten Bereich klickt, wird die Variable gechanged und das Event gecallt. Aber wie kommt man auf die Zahlen?

  8. #8
    Screen ausmessen.

  9. #9
    Machn Screenshot und fügs in einem Grafikprog ein. Dann ziehst du Linien die sich kreuzen, dann hast du die Koordinate.

  10. #10

    Kernle 32DLL Gast
    Sorry,hab vergessen zu sagen das ich das Problem gelöst habe !
    Undzwar so:



    Ich habe aud der Map ein Event gemacht,das mir die X bzw. Y Cordinaten
    angibt,wen ich mit der Maus Links-Klicke.So hab ich die Eckpunkte der
    Bildschirme herausgefunden und notiert.Dann musste ich im Maker ein
    neuen Event machen.Da machte ich dann eine Fork rein,ob der Wert in
    der Variable X größer als der Wert des linken oberen X punktes des
    Bildschirmes sei.Im Ja falle machte ich darunter eine 2. Fork,in der
    abgefragt wurde, ob der Wert der Variable X kleiner als der Wert des
    rechten obernen X Punktes des Bildschirmes sei.Wieder im Ja falle machte
    ich eine weitere Fork,ob der Wert der Variable Y größer als der Wert
    des linken oberen Y Punktes des Bildschirmes sei.Im Ja falle kamm
    dann die 4 und letzte Fork drunter,in der abgefragt wurde, ob der
    Wert der Variable Y kleiner als der Wert des linken unternen Y Punktes
    des Bildschirmes sei.Im ja falle kam dann noch eine 5. Fork drunter,
    oder die linke Maustaste gerückt sei.In den Ja falle dieser Fork
    konnte man dan schreiben was passiert,wen man mit der Linken Maustaste
    in den mit Forks ein-bereichten Bildschirm klickt.



    Nunja....
    Dieser Therad ist nun überflüssig und "kann" geschlossen werden.

    Gruß:
    Kernle


    Edit:
    Üprigens: Fragelschö hatt schon richtig geschrieben wie es im Maker
    aussehen muss.

    Bei Fork 1 den Wert des oberen linken X Punktes eintragen
    Bei Fork 2 den Wert des oberen rechten X Punktes eintragen
    Bei Fork 3 den Wert des oberen linken Y Punktes eintragen
    Bei Fork 4 den Wert des unteren linken Y Punktes eintragen

    Geändert von Kernle 32DLL (12.05.2004 um 18:18 Uhr)

Berechtigungen

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