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
      Verwalter

      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
      Verwalter

      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.