Director - Bild per keypressed bewegen, stop am Ende ?

silence

Aktives Mitglied
Thread Starter
Dabei seit
04.04.2003
Beiträge
116
Reaktionspunkte
0
Hallo !

Also ich möchte folgendes machen: Ich bewege ein Bild unter einem transparenten Ausschnitt eines anderen Bildes. Wenn das Bildende am Ende des transparenten Ausschnitts angekommen ist soll es aufhören sich zu bewegen.
Das Bild bewegt sich einwandfrei mit diesem Script (außerdem kann ich rein und rauszoomen):

on exitFrame me
go to the frame
if keypressed ("k") then
set the locH of sprite 1 to the locH of sprite 1 +15
end if
if keypressed ("s") then
set the locH of sprite 1 to the locH of sprite 1 -15
end if
if keypressed ("w") then
set the locV of sprite 1 to the locV of sprite 1 +15
end if
if keypressed ("x") then
set the locV of sprite 1 to the locV of sprite 1 -15
end if
if keypressed ("u") then
set the width of sprite 1 to the width of sprite 1 *1.03
set the height of sprite 1 to the height of sprite 1 *1.03
end if
if keypressed ("i") then
set the width of sprite 1 to the width of sprite 1 *0.97
set the height of sprite 1 to the height of sprite 1 *0.97
end if
end if
end

Aber wie kann ich einen Stop realisieren ?!

silence
 
if keypressed("k") and Sprite(1).locH < Wert/Variable then
sprite(1).locH = sprite(1).locH +15
end if

usw

d.h. wenn "k" gedrückt wird, wird sprite 1 nur solange bewegt, bis locH einen bestimmten Wert (oder z.B. die Koordinate eines anderen Sprites) hat.
Meintest du das?
 
Danke, im Grunde funktioniert es wie es soll bzw so wie ich es beschrieben hatte. Hatte dabei aber nicht bedacht das das Bild auch noch gezoomt wird und dann noch bewegt wird. Das heißt wenn man es rangezoomt hat kann man es nicht mehr ausreichend nach recht und links bewegen da sich der Wert welches es an Platz braucht immer wieder ändert.

Hoffe das ist verständlich :(

Ein weiteres Problem ist das wenn ich das Bild bewege oder zoome es sich nicht gleichmäßig bewegt sondern immer "springt".

Kann das mit dem Skalierungsfaktor zusammenhängen ? Dachte da wäre was, weiß aber nicht mehr wie man das löst.

silence
 
Skalierungsfaktor:
addiere zu position oder Grösse des Sprites doch zunächst mal nur 1 Pixel..

sprite(2).locV = sprite(2).locV + 1
sprite(2).height = sprite(2).height+1
etc.

Zur Abfrage der Position einzelner Sprites zueinander gibts auch die Vergleichsoperatoren "within" und "intersects" (siehe Director Hilfe)
Wenn sich das vergrösserte Sprite nicht mehr bewegen darf weil es an dann unter einem anderen Sprite hervorguckt gibts keine Lösung, musst halt die Abdeckung vergrössern...

Gruss, Ws
 
Zurück
Oben Unten