Spanish forum > Foro técnico

Compilando.

(1/3) > >>

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