Startseite › Foren › Deutsches LiveCode-Forum › Barriere programmieren/Fehler beim bewegen von zwei Objekten
- Dieses Thema hat 4 Antworten und 2 Teilnehmer, und wurde zuletzt aktualisiert vor 6 Jahren, 11 Monaten von Benjamin.
-
AutorBeiträge
-
-
Dezember 22, 2017 um 13:28 Uhr #3354
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 -
Dezember 22, 2017 um 13:43 Uhr #3356
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
-
Dezember 22, 2017 um 14:14 Uhr #3358
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 -
Dezember 22, 2017 um 14:20 Uhr #3360
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 🙂 -
Dezember 22, 2017 um 14:39 Uhr #3362
Super! Vielen Dank jetzt funktioniert es endlich.
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.