Barriere programmieren/Fehler beim bewegen von zwei Objekten

Startseite Foren Deutsches LiveCode-Forum Barriere programmieren/Fehler beim bewegen von zwei Objekten

Ansicht von 4 Antwort-Themen
  • Autor
    Beiträge
    • #3354
      Benjamin
      Teilnehmer

        Hi. Ich habe zwei Fragen an die Livecode-Experten, auf die ich selbst keine Lösung finde. Da ich erst 14 bin und mein Englisch nicht das beste ist wurde ich aus den englischen Livecodeartikel auch nicht schlauer.
        1. Ich habe ein kleines Programm geschrieben, bei dem man bisher nur einen Ball mit der Maus hin und her bewegen kann und bei dem ein anderer Ball im Bildschirm fliegt und vom Rand abprallt. Jedoch kann man während der Ball im Bildschirm herumfliegt den anderen Ball nicht bewegen und andersrum. Wenn jemand weiß wie man diesen Fehler beheben kann, wäre ich ihm sehr dankbar mir helfen zu können.
        2. Wie kann man den oben genannten Ball (den man im Bildschirm herumziehen kann) so programmieren, dass er nicht aus einem Viereck herausbewegt werden kann oder an einer Wand nicht vorbei kommt? Ich habe schon ziemlich viel probiert wie z.B. den Ball fallen zu lassen (mit Release me) wenn er die Wand berührt. Das funktioniert auch, jedoch kann man den Ball aus irgendeinem Grund danach nicht mehr aufheben (mit Grab me). Ich würde mich über schnelle Hilfe sehr freuen.
        Viele Grüße
        Benjamin

      • #3356
        Klaus Major
        Administrator

          Hi Benjamin,

          willkommen im Forum! 🙂

          Zu 1., die wichtigste Frage zuerst:
          Was und wie hast Du denn programmiert? Hellsehen können wir noch nicht, aber wir arbeiten dran…

          Falls Du mit “move img xyz…” gearbeitet hast, füge am ende ein “without waiting” ein, also:

          move btn xyz to zxy without waiting

          Dann wartet die Engine NICHT, bis die Animation beendet ist, sondern man kann sofort weiterarbeiten, Bälle verschieben etc…

          Gruß

          Klaus

        • #3358
          Benjamin
          Teilnehmer

            Hi Klaus,
            erstmal vielen Dank für die schnelle Antwort.
            Ich habe der Position des Balls (loc of grc “Ball”) mit einer repeat Schleife immer die variable Speed (zufällige Zahl zwischen 1 und 10) addiert und wenn der Ball auf den Rand getroffen ist habe ich Speed * -1 gerechnet damit der Ball von der Wand abprallt.

            Put random(10) into speed

            Repeat until the mouseClick

            Add speed to X
            Wait 1 tick
            Set the location of grc”ball” to X,y

            Das selbe habe ich auch mit der Variabel speedY gemacht damit der Ball auch nach oben fliegen kann.
            Viele Grüße
            Benjamin

          • #3360
            Klaus Major
            Administrator

              Ah, OK, dann probiere es mal so:

              Add speed to X
              Wait 1 tick WITH MESSAGES

              Das gibt der Engine Zeit, sich nebenbei auch um andere Dinge zu kümmern 🙂

            • #3362
              Benjamin
              Teilnehmer

                Super! Vielen Dank jetzt funktioniert es endlich.

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