Toon posts:

[director] on mouseDown laten loopen??

Pagina: 1
Acties:

Verwijderd

Topicstarter
ik wil een loop voor on mouse down maar dat lukt niet...
ik heb op dit moment dit:

code:
1
2
3
4
5
6
7
8
9
10
on mouseDown me
  slepen 
end
  
on slepen
  repeat while mouseDown()
    set the locH of sprite 1 to the mouseH
    set the locV of sprite 1 to the mouseV
  end repeat
end


als ik dit uitvoer dan krijg ik een error dat m'n geheugen vol zit ... :'(
misschien is er iemand met flash ervaring die het ook weet....

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

P&W -> W&G

Doet iets met Cloud (MS/IBM)


Verwijderd

Topicstarter
sorry

Verwijderd

Ik denk dat dit beter werkt:

on mouseDown
repeat while the stillDown
sprite(1).locH=the mouseH
sprite(1).locV=the mouseV
updateStage
end repeat
end

Verwijderd

Topicstarter
thnx...
dit werkt goed...
wat is dat updateStage ?

Verwijderd

Topicstarter
ah, ik hebt het al...
Door updateStage zie je hem ook bewegen...

Verwijderd

met updateStage wordt de stage opnieuw getekend.
Gebeurd normaal bij elke exitframe, dus als je movieframerate 15 fps is dan wordt de stage 15 x per seconde ververst.
Je hebt hier extra updatestages nodig, om een vloeiende beweging te krijgen.
zonder updatestage wordt het heel erg springerig als je snel met je muis beweegt.

Verwijderd

Topicstarter
hoe krijg je iets bewegends door je toetsenbord <- en -> ??

moet je dat in een framescript doen ofzo??

Verwijderd

Beter in een moviescript lijkt me.

bijv:

on startMovie
beweeg
end

on beweeg
if keypressed(124) then --rechterpijltje
-- doe iets
end if
if keypressed(123) then -- linkerpijltje
--doe iets anders
end if
end

Verwijderd

Topicstarter
waar kan ik de moviescripts vinden???

Verwijderd

maak een nieuw script aan door op het plusje te klikken in de scriptwindow, klik dan op het blauwe rondje met de witte i. dan krijg je de property inspector (tenminste in Director 8 of 8.5). Daar kun je dan kiezen tussen Moviescript, Behavior of Parentscript.

Verwijderd

Topicstarter
hmmz ik moet er een while voor gebruiken... maar op een gegeven moment loopt ie vast :(
ik heb dit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
on startMovie
  beweeg 
end

on beweeg
  repeat while 1 = 1
    if keypressed(124) then --rechterpijltje
      sprite(1).locH = sprite(1).locH + 1
      updateStage
    end if
    if keypressed(123) then -- linkerpijltje
      sprite(1).locH = sprite(1).locH - 1
      updateStage
    end if
  end repeat
end

Verwijderd

Topicstarter
hmmz, ik merk nu ook dat ik sprite 1 alleen nog maar kan bewegen via de pijltjes...
dat maximaal 10 seconde en dan loopt hij vast :'(

Verwijderd

sorry foutje van mij, het kan toch beter in een spritescript.

on exitFrame
beweeg
end

on beweeg
if keypressed(124) then -- rechterpijltje
sprite(1).locH=sprite(1).locH+1
end if
if keypressed(123)then-- linkerpijltje
sprite(1).locH=sprite(1).locH-1
end if
end

Hier heb je dan geen updatestage nodig want elke exitframe geeft al een updatestage, en dat is in dit geval genoeg.

Verwijderd

Topicstarter
welke opties zijn er allemaal voor de on ......Frame???

on exitFrame
on enterFrame

en wat moet ik gebruiken als ik iets standaard wil laten bewegen???

Verwijderd

de belangrijkste zijn wel exitframe en enterframe, je hebt ook nog stepframe, en prepareframe. Stepframe is vrijwel hetzelfde als exitframe maar dan voor childobjecten van parentscripts.

Om iets standaard te laten bewegen, is on exitFrame prima.

Verwijderd

Topicstarter
bedankt voor alle info....
Pagina: 1