Spanish forum > Foro técnico
Compilando.
bamyito:
¡Buenas gente!
Resulta que el otro dia compilé lo poco que tengo hecho para enseñarlo fuera de mi pc como ejemplo. Pues bien, resulta que al ir a la escena BUS (desde los 2 caminos que hay), el actor aparece donde a él le parece bien, cambiando de localización a cada nueva entrada que hago de esta escena (a veces aparece en el centro, otras a la izquierda,... pero nunca en su entrada adecuada). Sin embargo, al ir a las demas escenas (incluso desde la escena BUS) no existe ningún problema. Empieza donde debe.
¿Qué puede estar ocurriendo en esa escena?
Jose:
¿Puedes postear el scene_init.script de la escena BUS?
bamyito:
Faltaría más. ;D
--- Code: ---#include "scripts\base.inc"
// here comes the stuff which initializes the scene
global Entrada;
switch(Entrada)
{
case "Camino1":
actor.SkipTo(1453, 578);
actor.Direction = DI_LEFT;
Scene.SkipTo(actor); break;
case "Camino2":
actor.SkipTo(1456, 119);
actor.Direction = DI_DOWNLEFT;
Scene.SkipTo(actor); break;
default: // Si la escena anterior no se llama "UnaEscena" ni "OtraEscena" ni "UnaEscenaMas", ejecutar el código siguiente hasta el final.
actor.SkipTo(400, 400);
actor.Direction = DI_RIGHT;
}
var Fuente = Scene.GetNode("fuente"); // Crear una variable Fuente que sea tu objeto "fuente", si es que se llama así.
switch(Fuente.GetSprite()) // ¿Qué sprite tiene tu fuente?
{
case "scenes\BUS\fuenteon.sprite": // Si tiene la animación "fuenteon.sprite"...
Fuente.PlaySound("scenes\BUS\stream-3.wav",true); // ...que reproduzca su sonido.
}
////////////////////////////////////////////////////////////////////////////////
// scene state
global StateBUS;
// default values
if(StateBUS==null)
{
StateBUS.Visited = false;
// add scene states here
}
////////////////////////////////////////////////////////////////////////////////
// setup scene according to state variables
////////////////////////////////////////////////////////////////////////////////
if(!StateBUS.Visited)
{
StateBUS.Visited = true;
// this is our first visit in this scene...
}
--- End code ---
HelLRaiseR:
Evidentemente en alguna de las escenas no has puesto bien el nombre de la entrada y por eso te aparece donde no es.
Hay un tutorial sobre esto escrito por Jyujinkai: http://res.dead-code.org/doku.php/kbase:meaecode aunque no creo que el problema este en como esta hecho sino en que la variable Entreada no esta bien puesta en algun lado.
Jose:
Si quieres colocar al actor en una entrada o en otra en función de la escena anterior yo me quitaría de movidas y en lugar de usar una variable global como haces con la variable Entrada, usaría la función Game.PrevScene para que te devuelva el nombre de la escena de la que viene y en función de ello posicionaría al actor donde te interese.
Navigation
[0] Message Index
[#] Next page
Go to full version