Precarga .dcr para web

Que tal va Maestro!
Hacía ya tiempo que no hablamos
Mi pregunta es corta pero seguro que de respuesta complicada. Ojalá que no.
Como se hace una precarga para la web, de un shockwave, apareciendo una barra de progreso de carga por defecto o personalizada (creación propia).
¿Tienes algo?
Gracias Jefe

1 respuesta

Respuesta
1
Si tengo varios behaviours para esto, pero puedes cargar lo que quieras y como quieras:
Esto es para cargar viculados:
--Creado por bedelludrica
Property paccion, pruta, d
global g_porcentaje
on getPropertyDescriptionList me
lista = [:]
addProp lista, #paccion, [#comment: "indica la rutina que se inicializa al finalizar la carga",\
#format: #string, #default: "rutina3()"]
addProp lista, #pruta, [#comment: "indica la ruta del archivo que se va a cargar cuando pulse este botón",\
#format: #string, #default: "madam/1.jpg"]
return lista
end
on getBehaviorTooltip me
return \
"Este comportamiento debes lanzarlo sobre la barra de descarga para que muestre el porcentaje transmitido respecto a esta barra de miembros vinculados externos. Esta barra puede estar en cualquier frame ." & \
return&\
"Comportamiento realizado por bedelludrica: " & \
return&\
"[email protected] "
end getBehaviorTooltip
property p_tamaño, p_ancho--,p_anchoi
on beginsprite me
g_porcentaje=0
d=preloadnetthing(the pathname&pruta)
p_tamaño=sprite(me.spritenum).rect
-- P_ANCHOi=sprite(me.spritenum).width
end
on descargad me, tURL
detalles = GetStreamStatus(tURL)
case detalles.state of
"Complete": porcentaje = 100.0
"Connecting", "Started":porcentaje= 0.0
"Error", "NoInformation": porcentaje = -1
otherwise:porcentaje = (detalles.bytessofar * 100.0) / detalles.bytestotal
end case
return porcentaje
end
-- Connecting, Started, InProgress, Complete, Error y NoInformation
--son cadenas que no se pueden modificar
on prepareFrame me
-- if the moviePath = EMPTY then g_porcentaje = 100
g_porcentaje = descargad (me,the moviePath &pruta)
--if g_porcentaje = -1 then go frame "error"
--Establece barra
porcentaje=float(g_porcentaje)/float(100)
p_ancho=p_tamaño.right-p_tamaño.left
ancho_descargado=p_ancho*porcentaje
progreso=rect(p_tamaño.left,p_tamaño.top,p_tamaño.left+ancho_descargado,p_tamaño.bottom)
sprite(me.spritenum).rect =progreso
end
on exitFrame me
if integer(g_porcentaje)=100 then --or netdone(d)then
do paccion
else
go to the frame
g_porcentaje=void
-- d=void
end if
end
Esto es para que coloques en la barra de descarga de la peli. Esto sirve por ejemplo para ver como va el streaming:
-- Creado por bedelludrica
property paccion
on getPropertyDescriptionList me
lista = [:]
addProp lista, #paccion, [#comment: "indica la rutina que se inicializa al finalizar la carga",\
#format: #string, #default: "rutina()"]
return lista
end
on getBehaviorTooltip me
return \
"Este comportamiento debes lanzarlo sobre la barra de descarga para que muestre el porcentaje transmitido respecto a esta barra. Esta barra debes estar en el frame 1 y previamente deberías haber pregargado este frame." & \
return&\
"Comportamiento realizado por bedelludrica: " & \
return&\
"[email protected] "
end getBehaviorTooltip
global g_porcentaje
property p_tamaño, p_ancho--,p_anchoi
on beginsprite me
g_porcentaje=0
p_tamaño=sprite(me.spritenum).rect
-- P_ANCHOi=sprite(me.spritenum).width
end
on descargad me, tURL
detalles = GetStreamStatus(tURL)
case detalles.state of
"Complete": porcentaje = 100.0
"Connecting", "Started":porcentaje= 0.0
"Error", "NoInformation": porcentaje = -1
otherwise:porcentaje = (detalles.bytessofar * 100.0) / detalles.bytestotal
end case
return porcentaje
end
-- Connecting, Started, InProgress, Complete, Error y NoInformation
--son cadenas que no se pueden modificar
on prepareFrame me
-- if the moviePath = EMPTY then g_porcentaje = 100
g_porcentaje = descargad (me,the moviePath & the movieName)
--if g_porcentaje = -1 then go frame "error"
--Establece barra
porcentaje=float(g_porcentaje)/float(100)
p_ancho=p_tamaño.right-p_tamaño.left
ancho_descargado=p_ancho*porcentaje
progreso=rect(p_tamaño.left,p_tamaño.top,p_tamaño.left+ancho_descargado,p_tamaño.bottom)
sprite(me.spritenum).rect =progreso
end
on exitFrame me
if integer(g_porcentaje)=100 then
do paccion
else
go to the frame
g_porcentaje=void
end if
end
Esto es para cuando estés en streaming precargues un frame:
--Creado por bedelludrica
on getPropertyDescriptionList me
lista = [:]
addProp lista, #paccion, [#comment: "indica la rutina que se inicializa al finalizar la carga del frame",\
#format: #string, #default: "rutina()"]
addProp lista, #pframe, [#comment: "indica el frame por el que esperas",\
#format: #string, #default: "rutina()"]
return lista
end
property pframe,paccion
on isOKToAttach (me, aSpriteType, aSpriteNum)
return TRUE
end
on exitFrame me
if NOT frameReady (pframe) then
the idleLoadMode = 2
preload (pframe)
the idleLoadMode = 0
go to the frame
else
do paccion
end if
end
on getBehaviorTooltip me
return \
"Este comportamiento debes lanzarlo sobre el canal de script y sirve para detectar cuando este precargado un frame. Cuando esta carga ocurra inicializarà una rutina que tu indiques." & \
return&\
"Comportamiento realizado por bedelludrica: " & \
return&\
"[email protected] "
end getBehaviorTooltip
Esto es para cuando estés en streaming precargues un miembros:
--creado por bedelludrica
property pmiembro, paccion
on isOKToAttach (me, aSpriteType, aSpriteNum)
return TRUE
end
on getBehaviorTooltip me
return \
"Este comportamiento debes lanzarlo sobre el canal de script y sirve para detectar cuando este precargado un determinado miembro. Cuando esta carga ocurra inicializarà una rutina que tu indiques." & \
on getPropertyDescriptionList
lista = [:]
addProp lista, #paccion, [#comment: "indica la rutina que se inicializa al finalizar la carga del miembro",\
#format: #string, #default: "rutina()"]
addProp lista, #pmiembro, [#comment: "indica el miembro por el que esperas",\
#format: #member, #default: member 1]
return lista
end
on exitFrame me
if NOT the mediaReady of member pmiembro then
the idleLoadMode = 2
preload member pmiembro
the idleLoadMode = 0
go to the frame
else
do paccion
end if
end
En cada apartado que me mandas, que debo hacer:
¿Copiar el comportamiento y pegarlo en la ventana de Script y ya está?
La verdad es que necesito una explicación más detallada.
Si sabes de algún tutorial donde explique esto en un contexto, un poquito ná más, desarrollado.
Y te agradezco otra vez que me mandes tantos códigos.
Alugún día los entenderé.
Gracias maestro
No so scripts son comportamientos como los que encuentras en la library palette.
Para usarlos primero debes convertirlos a behaviours. En la ventana script pulsa sobre la tecla i de color azul y poner en la etiqueta movie behavoiour.
Ahora lo que tienes que hacer es leer la rutina getBehaviorTooltip de cada comportamiento para aprender a usarlos. Te recomiendo que los coloques todos en un cast externo y guardes ese cast en la carpeta libs de director y los podrás usar desde la library palette.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas