Cómo compartir propiedades de un script a otro y pinchar en un punto de la barra con el Video Slide

Soy el del video slide). Ha sido de gran ayuda. Sin embargo, y relacionado con este tema, el comportamiento que me dijiste no permite pinchar en un punto de la barra de desplazamiento y que continué ejecutanto a partir de ese momento. ¿Cómo podría hacer?
Además me gustaría saber otra cosa: ¿Cómo se puede compartir property de un script a otro?

1 Respuesta

Respuesta
1
Para compartir properties debes usar los comando sendsprites y sendallsprites:
Me parece que note mande unos comportamientops que funcionaban bien y por eso no puedes hacer lo que me dces del video.
Barra
--Bedelludrica
Property s
property p_linea_pelicula,poduracion,p_velo,p_s
property p_origen_barra, p_pantalla_pelicula, longitud_barra
on getPropertyDescriptionList
lista=[:]
addprop lista , #p_linea_pelicula , [#comment:"elige el sprite barra de video",\
#format:#integer,#default:2]
addprop lista , #p_pantalla_pelicula , [#comment:"elige el sprite pantalla de video",\
#format:#integer,#default:6]
return lista
end getPropertyDescriptionList
on beginsprite me
sprite(p_pantalla_pelicula).member.loop =1
sprite(me.spritenum).moveableSprite=true
sprite(me.spritenum).loc=p_origen_barra
poduracion=sprite(p_pantalla_pelicula).duration
sprite(p_pantalla_pelicula).member.pausedAtStart=true
sprite(p_pantalla_pelicula).movietime=0
sprite(me.spritenum).constraint= p_linea_pelicula
p_origen_barra=sprite(p_linea_pelicula ).loch
longitud_barra=sprite(p_linea_pelicula ).width
p_s=sprite(me.spritenum)
sprite(me.spritenum).loc=sprite(p_linea_pelicula ).loc
end
on mousedown me
s=0
p_velo=sprite(p_pantalla_pelicula).movierate
sprite(p_pantalla_pelicula).movieRate = 0
end
on mouseup me
sprite(p_pantalla_pelicula).movierate=p_velo
s=1
end
on estado me,l
s=l
end
on exitframe me
if s=0 then
posicion_topo=sprite(me.spritenum).locH
topo_relativo=posicion_topo - p_origen_barra
posicion_pelicula=(topo_relativo*float(poduracion))/longitud_barra
sprite(p_pantalla_pelicula).movietime=float(posicion_pelicula)
else if s=1 then
posi=sprite(p_pantalla_pelicula).movietime
pos_barr=(posi*longitud_barra)/poduracion
p= pos_barr+p_origen_barra
sprite(me.spritenum).locH=p
end if
end
on getBehaviorTooltip me
return \
"Este comportamiento debes vincularlo al topo de la barra de video e indicar en que sprite se encuentra la barra y el video." & \
" La barra de video es un cuadrado de altura de 0 pixels y con el punto de registro en la parte izquierda de ella ( member(vector).regPoint= point(0, 0))." & \
" El topo es el botón que se desplaza a lo largo de la barra" & \
return&\
"Comportamiento realizado por bedelludrica: " & \
return&\
"[email protected] "
end getBehaviorTooltip
controles
--bedelludrica
property p_tipo_control, pVideoSprite,ptitulo,ptop
on getPropertyDescriptionList me
lista = [:]
addProp lista, #ptitulo,[#comment:"comportamiento realizado por",#format:#symbol,#range:[#bedelludrica],#default:#bedelludrica]
addProp lista, #p_tipo_control, [#comment: "accion de este boton",\
#format: #symbol,¬
#range: [#play, #stop, #pausa, #salto_adelante, #salto_atras,\
#vete_comienzo, #marcha_atras, #adelante_rapido, #atras_rapido, #vete_final],\
#default: #stop]
addProp lista, #pVideoSprite, [#comment: "¿cual es el sprite de video?",\
#format: #sprite, #default: 1]
addProp lista, #ptop, [#comment: "¿cual es el sprite del topo?(solo si se usa con barra de video)",\
#format: #sprite, #default: 12]
return lista
end
on mousedown me
sendsprite(sprite ptop,#estado,1)
end
on mouseUp me
case p_tipo_control of
#play:
sprite(pVideoSprite).movieRate = 1
#stop:
sprite(pVideoSprite).movieRate = 0
sprite(pVideoSprite).movieTime = 0
#vete_comienzo:
sprite(pVideoSprite).movieRate = 0
sprite(pVideoSprite).movieTime = 0
#vete_final:
sprite(pVideoSprite).movieRate = 0
sprite(pVideoSprite).movieTime = sprite(pVideoSprite).duration
#marcha_atras:
sprite(pVideoSprite).movieRate = -1
#pausa:
sprite(pVideoSprite).movieRate = 0
#salto_adelante:
sprite(pVideoSprite).movieTime = sprite(pVideoSprite).movieTime + 4*60
#salto_atras:
sprite(pVideoSprite).movieTime = sprite(pVideoSprite).movieTime - 4*60
#adelante_rapido:
sprite(pVideoSprite).movieRate = 3
#atras_rapido:
sprite(pVideoSprite).movieRate = -3
-- #repeticion:
-- sprite(pVideoSprite).member.loop = ¬
-- not sprite(pVideoSprite).member.loop
end case
end
on getBehaviorTooltip me
return \
"Este comportamiento debes vincularlo a cada uno de los botones de acción de video es decir a los botones de play, stop.. " & \
return&\
"Comportamiento realizado por bedelludrica: " & \
return&\
"[email protected] "
end getBehaviorTooltip
Pues, no, no me refiero a eso. El comportamiento anterior ya funciona según lo que necesito. Mi pregunta es la siguiente. Una vez que tengo el topo que se mueve según corre el video, y que lo puedo coger y mover adelante y atrás, deseo poder pinchar en un punto de la barra donde no esté el topo y que se reproduzca a partir de ahí.
O sea, supón que el topo está casi al final de la barra y pincho al principio de la barra, pues deseo que solo pinchando se reproduzca desde donde le he pinchado.
Gracias
Ya entiendo, quieres comportamientos para crear una barra con todas las acciones como la que tendría el reproductor de windows.
Entonces debes cambiar todos los comportamietos:
Esto es para la barra esa que necesitas
--Bedelludrica
global p_velo
global s
property p_linea_pelicula,poduracion,p_s,p_to
property p_origen_barra, p_pantalla_pelicula, longitud_barra
on getPropertyDescriptionList
list=[:]
addprop list , #p_linea_pelicula , [#comment:"elige el sprite barra de video",\
#format:#integer,#default:2]
addprop list , #p_pantalla_pelicula , [#comment:"elige el sprite pantalla de video",\
#format:#integer,#default:6]
addprop list , #p_to , [#comment:"elige el sprite del topo",\
#format:#integer,#default:1]
return list
end getPropertyDescriptionList
on beginsprite me
poduracion=sprite(p_pantalla_pelicula).duration
p_origen_barra=sprite(p_linea_pelicula ).loch
longitud_barra=sprite(p_linea_pelicula ).width
p_s=sprite(me.spritenum)
sprite(me.spritenum).loc=sprite(p_linea_pelicula ).loc
end
--
on mouseup me
sprite(p_pantalla_pelicula).movierate=p_velo
s=1
end
on mouseupoutside me
sprite(p_pantalla_pelicula).movierate=p_velo
s=1
end
on mousedown me
s=0
p_velo=sprite(p_pantalla_pelicula).movierate
sprite(p_pantalla_pelicula).movieRate = 0
posicion_topo=(the mouseloc).loch
sprite(p_to).loch=(the mouseloc).loch
topo_relativo=posicion_topo - p_origen_barra
posicion_pelicula=(topo_relativo*float(poduracion))/longitud_barra
sprite(p_pantalla_pelicula).movietime=float(posicion_pelicula)
sprite(p_to).loch=(the mouseloc).loch
end
Esto es para el topo:
--bedelludrica
global s
global p_velo
property p_linea_pelicula,poduracion,p_s
property p_origen_barra, p_pantalla_pelicula, longitud_barra
on getPropertyDescriptionList
list=[:]
addprop list , #p_linea_pelicula , [#comment:"elige el sprite barra de video",\
#format:#integer,#default:2]
addprop list , #p_pantalla_pelicula , [#comment:"elige el sprite pantalla de video",\
#format:#integer,#default:6]
return list
end getPropertyDescriptionList
on beginsprite me
sprite(p_pantalla_pelicula).member.loop =1
sprite(me.spritenum).moveableSprite=true
sprite(me.spritenum).loc=p_origen_barra
poduracion=sprite(p_pantalla_pelicula).duration
sprite(p_pantalla_pelicula).member.pausedAtStart=true
sprite(p_pantalla_pelicula).movietime=0
sprite(me.spritenum).constraint= p_linea_pelicula
p_origen_barra=sprite(p_linea_pelicula ).loch
longitud_barra=sprite(p_linea_pelicula ).width
p_s=sprite(me.spritenum)
sprite(me.spritenum).loc=sprite(p_linea_pelicula ).loc
end
on mousedown me
s=0
p_velo=sprite(p_pantalla_pelicula).movierate
sprite(p_pantalla_pelicula).movieRate = 0
end
on mouseup me
sprite(p_pantalla_pelicula).movierate=p_velo
s=1
end
on mouseupoutside me
sprite(p_pantalla_pelicula).movierate=p_velo
s=1
end
on estado me,l
s=l
end
on exitframe me
if s=0 then
posicion_topo=sprite(me.spritenum).locH
topo_relativo=posicion_topo - p_origen_barra
posicion_pelicula=(topo_relativo*float(poduracion))/longitud_barra
sprite(p_pantalla_pelicula).movietime=float(posicion_pelicula)
else if s=1 then
posi=sprite(p_pantalla_pelicula).movietime
pos_barr=(posi*longitud_barra)/poduracion
p= pos_barr+p_origen_barra
sprite(me.spritenum).locH=p
end if
end
on getBehaviorTooltip me
return \
"Este comportamiento debes vincularlo al topo de la barra de video e indicar en que sprite se encuentra la barra y el video." & \
" La barra de video es un cuadrado de altura de 0 pixels y con el punto de registro en la parte izquierda de ella ( member(vector).regPoint= point(0, 0))." & \
" El topo es el botón que se desplaza a lo largo de la barra" & \
return&\
"Comportamiento realizado por bedelludrica: " & \
return&\
"[email protected] "
end getBehaviorTooltip
Esto es para el control de video:
--bedelludrica
property p_tipo_control, pVideoSprite,ptitulo,ptop
on getPropertyDescriptionList me
list = [:]
addProp list, #ptitulo,[#comment:"comportamiento realizado por",#format:#symbol,#range:[#bedelludrica],#default:#bedelludrica]
addProp list, #p_tipo_control, [#comment: "accion de este boton",\
#format: #symbol,¬
#range: [#play, #stop, #pausa, #salto_adelante, #salto_atras,\
#vete_comienzo, #marcha_atras, #adelante_rapido, #atras_rapido, #vete_final],\
#default: #stop]
addProp list, #pVideoSprite, [#comment: "¿cual es el sprite de video?",\
#format: #sprite, #default: 1]
addProp list, #ptop, [#comment: "¿cual es el sprite del topo?(solo si se usa con barra de video)",\
#format: #sprite, #default: 12]
return list
end
on mousedown me
sendsprite(sprite ptop,#estado,1)
on getBehaviorTooltip me
return \
"Este comportamiento debes vincularlo a cada uno de los botones de acción de video es decir a los botones de play, stop.. " & \
return&\
"Comportamiento realizado por bedelludrica: " & \
return&\
"[email protected] "
end getBehaviorTooltip

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas