"Wischen" von oben nach unten

Startseite Foren Deutsches LiveCode-Forum "Wischen" von oben nach unten

Ansicht von 10 Antwort-Themen
  • Autor
    Beiträge
    • #1159
      adrianr
      Teilnehmer

        Hallo,
        wie erkenne ich in Livecode, ob mit dem Finger von oben nach unten „gewischt“ wurde? Ich würde mit dieser gängigen Funktion gerne meinen Bildschirm aktualisieren (anstatt mit einem Button).

        Vielen Dank.
        Adrian

      • #1163
        Klaus Major
        Administrator

          Hi Adrian,

          das macht man am besten in einem Kartenskript.
          1. Bei „Mousedown“ -> mouseV merken
          2. Bei „mouseup“ gemerkten Wert mit aktuellem Wert vergleichen.
          3. Wenn Differenz > XX Pixel -> Deine Aktion ausführen

          local tMouseDownH
          
          ## V-Position merken...
          on mousedown
             put the mouseV into tMouseDownV
          end mousedown
          
          ## Und hier den gemerkten Wert vergleichen...
          ## Bei dem Pixelwert musst Du selbst mal testen, was am Besten für Dich passt.
          on mouseup
             if the mouseV - tMouseDown > 150 then
                ## User hat 150 Pixel nach unten gewischt, nun kannst Du Deinen Bildschirm aktualisieren
             end if
          end mouseup

          Ich hoffe, das hilft Dir weiter.

          Gruß

          Klaus

        • #1165
          Torsten
          Teilnehmer

            Kleine Tippfehler-Korrektur:

            local tMouseDownV

            und

            if (the mouseV – tMouseDownV) > 150 then

            Funzt, danke!

          • #1167
            Klaus Major
            Administrator

              Ups, sorry für die Tipfehler…

            • #1169
              adrianr
              Teilnehmer

                Hallo,
                bin endlich dazugekommen das auszuprobieren. Ist ja ganz einfach und funktioniert :-). Vielen Dank.
                Jetzt möchte ich das aber auf einem Browser-Widget haben und habe das Coding mal „einfach“ dem Widget hinterlegt. Dort passiert leider gar nichts :-(.
                Jetzt habe ich mir überlegt einfach ein lable field drüber zulegen und dort den Code abzufragen. Mit einem lable field funktioniert das nämich auch, wie ich bemerkt habe, aber leider lässt er mich auch kein lable field auf das Widget legen.
                Habt Ihr eine Idee, wie man das machen könnte?

                Vielen Dank nochmal und viele Grüße aus dem sonnigen Süden Deutschlands :-).

              • #1171
                Klaus Major
                Administrator

                  Hallo Adrian,

                  1. leider reagieren die meisten „widgets“ NICHT auf „Mouseevents“, sofern nicht explizit so programmiert.

                  2. Das „Browser Widget“ ist ein von System bereitgestelltes Overlay und schwebt sozusagen über dem Stack, weshalb Du auch nichts „darüber“ legen kannst. Ähnlich wie ein Video im Playerobjekt.

                  Packe den Code mal ins Kartenskript, das könnte eventuell klappen.

                  Gruß

                  Klaus

                • #1173
                  Klaus Major
                  Administrator

                    Und hier der Code noch einmal OHNE Tippfehler! 😎

                    local tMouseDownV
                    
                    ## V-Position merken...
                    on mousedown
                       put the mouseV into tMouseDownV
                    end mousedown
                    
                    ## Und hier den gemerkten Wert vergleichen...
                    ## Bei dem Pixelwert musst Du selbst mal testen, was am Besten für Dich passt.
                    on mouseup
                       if the mouseV - tMouseDownV > 150 then
                          ## User hat 150 Pixel nach unten gewischt, nun kannst Du Deinen Bildschirm aktualisieren
                       end if
                    end mouseup
                  • #1175
                    adrianr
                    Teilnehmer

                      Das habe ich als erstes versucht. Hat aber bei den Widgets auch nicht funktioniert. Deshalb habe ich es zunächst beim Widget hinterlegt und danach mit dem lable field probiert. Schade :-(.

                      Vielen Dank für die blitzschnellen Antworten!

                      Adrian

                    • #1177
                      Klaus Major
                      Administrator

                        Ich habe mal auf der LC Mailingliste angefragt, ob es wirklich Not tut, daß Widgets sämtliche „Mouseevents“ wie im vorliegenden Fall fressen!? Werde hier berichten, wenn sich das was tut.

                      • #1179
                        Klaus Major
                        Administrator

                          Offenbar arbeitet man daran, diese Probleme mit Widgets in zukünftigen Versionen zu bereinigen, aber bis dahin müssen wir damit leben. Workarounds gibt es leider keine. :-/

                        • #1181
                          adrianr
                          Teilnehmer

                            Hallo Klaus,

                            vielen Dank für Deine Bemühungen…

                            Grüße
                            Adrian

                        Ansicht von 10 Antwort-Themen
                        • Du musst angemeldet sein, um auf dieses Thema antworten zu können.