Forenindex » Archiv » Adobe Director » Scrollleiste/Schieberegler zum steuern eines Videos

Scrollleiste/Schieberegler zum steuern eines Videos

rsonic
Beiträge gesamt: 11

17. Dez 2004, 10:06
Bewertung:

gelesen: 1022

Beitrag als Lesezeichen
Hallo,

ich versuche zur Zeit ein Video anhand eines Scrollbalkens zu steuern. Ich habe bereits folgendes Script das gepostet war ausprobiert, nur leider braucht das Video lange Zeit zum Synchronisieren. Wie kann dieses Problem behoben werden ?



Gepostet von donkey shot:

Da ich das schon immer mal bauen wollte habe ich mal schnell geskriptet. Ging auch recht einfach. Allerdings hatte ich wieder mal nicht beachtet, daß Director beim Teilen immer rundet, da hat mich das ganze denn doch eine Dreiviertelstunde gekostet. Aber jetzt läuft der Regler auch genau mit.

Als erstes packst Du Dein Video auf die Bühne, den member nennst Du "video" (kann auch anders heißen aber dann mußt Du das im Skript ändern).

Dann bastelst Du eine "Leiste" drunter (beispiel: sprite 2). Einen sprite-Kanal drüber (beispiel: sprite 3) kommt der Schieber (Bitmap oder Form). Der hat folgendes Verhaltensskript:

on beginSprite me
if sprite(the spriteNum of me).member.type = #bitmap then
sprite(the spriteNum of me).member.regPoint = point(0,0)
end if
sprite(the spriteNum of me).locH = sprite(the spriteNum of me - 1).left - (sprite(the spriteNum of me).width / 2)
end beginSprite

on prepareFrame me

if the mouseDown = 1 then
if the mouseH > sprite(the spriteNum of me - 1).left then
if the mouseH < sprite(the spriteNum of me - 1).right then
sprite(the spriteNum of me).locH = the mouseH - (sprite(the spriteNum of me).width / 2)
myPoint = the mouseH - sprite(the spriteNum of me - 1).left
myLength = float(member("video").duration) / float(sprite(the spriteNum of me - 1).width)
the movieTime of sprite(1) = myPoint * myLength
the movieRate of sprite(1) = 1
end if
end if
else
myLength = float(member("video").duration) / float(sprite(the spriteNum of me - 1).width)
sprite(the spriteNum of me).locH = (sprite(the spriteNum of me - 1).left + (the movieTime of sprite(1) / myLength)) - (sprite(the spriteNum of me).width / 2)
end if
end prepareFrame

grüsse,

Christof