hilfdirselbst.ch
Facebook Twitter gamper-media
Anonym
Beiträge: 22827
17. Jun 2003, 11:29
Beitrag #1 von 3
Bewertung:
(1149 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

mausfolger


wie lautet der befehl wenn man man mehrere sprites hat und diese der maus folgen sollen?
(bitte eine komplette folge beispielshalber wenns geht mit zufallsprinzip sprich random zeitverzögerung...)


danke im vorraus.... Top
 
X
donkey shot
Beiträge: 1416
17. Jun 2003, 15:08
Beitrag #2 von 3
Beitrag ID: #39824
Bewertung:
(1149 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

mausfolger


Es gibt ein vorgefertigtes Verhalten in der Bibliothekspalette, das einen Sprite der Maus folgen läßt (Animation> Interaktiv> Mit Cursor mitlaufen/Sprite Track mouse).

Das Skript macht eigentlich nichts anders, als vor Beginn eines neuen Frames die Mausposition auszulesen und dann die Spriteposition anzupassen. Gleiches erzielst du mit folgendem einfachen Skript (das allerdings den Sprite nicht auf dem Mauszeiger zentriert):

on prepareFrame me
sprite(the spriteNum of me).loc = the mouseLoc
end prepareFrame

Wenn du das ganze immer erst machst, während der Abspielkopf auf den Frame kommt, also on enterFrame, erzielst Du eine leichte Verzögerung:

on enterFrame me
sprite(the spriteNum of me).loc = the mouseLoc
end enterFrame

Das gleiche kannst du auch mit dem vorgefertigten Skript machen: einfach das Wörtchen prepareFrame gegen enterFrame austauschen.

Eine noch längere Verzögerung einzubauen, wäre ein wenig komplizierter. aber vielleicht bist du ja schon so zufrieden...

Übrigens: wenn du den Sprite als Mousezeiger verwenden willst, kannst du ein kleines Filmskript schreiben:

in startMovie
cursor 200
end startMovie

Das bewirkt, daß der eigentliche Mauszeiger nicht zu sehen ist.

greez

Christof
als Antwort auf: [#39783] Top
 
donkey shot
Beiträge: 1416
17. Jun 2003, 15:14
Beitrag #3 von 3
Beitrag ID: #39826
Bewertung:
(1146 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

mausfolger


Das mit der zufallsmäßigen Verzögerung hatte ich ganz vergessen. meintest du sowas?

property randNum
property cntList

on beginsprite me
randNum = random(20)
cntList = []
end beginsprite

on enterFrame me
if cntList.count > randNum then
sprite(the spriteNum of me).loc = the mouseLoc
randNum = random(20)
cntList = []
else
append cntList, 1
end if
end enterFrame


grüsse

Christof
als Antwort auf: [#39783] Top