ActionScript - ¿Errores en el código?

 
Vista:

¿Errores en el código?

Publicado por torsku (1 intervención) el 19/10/2013 12:46:51
Muy buenas a todos, estoy intentando hacer una aplicación en Android pero se me viene cuesta arriba porque soy bastante novato... Voy a intentar explicarme:

Tengo la pantalla principal que son varios botones, y quiero que esos botones me lleven a otra pantalla gracias a la orden "URLRequest", pero no hay manera. Por ahora tengo dos páginas, la principal, que solo contiene los botones, y la secundaria (por llamarla de alguna manera) que contiene una calculadora que te dice si eres mayor de edad. Estas dos las estoy programando en documentos AS separados.

Mi pregunta es... ¿Qué hago mal en el código que estoy creando? ¿La ordenación? Os pongo por aquí el documento AS de la principal, de la secundaria no hace falta porque solo es la programación del código de la calculadora.

--------------------------------------------------------------------------------------------------------------------------------
package {

import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.geom.Rectangle;
import flash.display.Loader;
import flash.net.URLRequest;

public class practica extends MovieClip
{

//Variables página principal
static var escenario:MovieClip;
static var cabecera:Cabecera;
static var calculadora:Calculadora;
static var halterofilia:Halterofilia;
static var atletismo:Atletismo;
static var cardio:Cardio;
static var dietas:Dietas;

public function practica()
{
escenario = new MovieClip();
stage.addChild(escenario);

/*Creamos un elemento de escucha para poder arrastrar el
programa hacia arriba (UP) y hacia abajo (DOWN)*/
escenario.addEventListener(MouseEvent.MOUSE_DOWN, scrollDownHandler);
escenario.addEventListener(MouseEvent.MOUSE_UP, scrollUpHandler);

/*Colocación del partado de Calculadora, lo pongo arriba
de la cabecera para que quede por debajo de esta, ya que
si lo pongo al contrario el degradado lo taparía*/
calculadora = new Calculadora;
escenario.addChild(calculadora);
calculadora.x = 0;
calculadora.y = 300;

/*Colocación del partado de Cabecera*/
cabecera = new Cabecera;
escenario.addChild(cabecera);

/*Colocación del partado de Halterofilia*/
halterofilia = new Halterofilia;
escenario.addChild(halterofilia);
halterofilia.x = 0;
halterofilia.y = 574,75;

/*Colocación del partado de Atletismo*/
atletismo = new Atletismo;
escenario.addChild(atletismo);
atletismo.x = 0;
atletismo.y = 852,70;

/*Colocación del partado de Cardio*/
cardio = new Cardio;
escenario.addChild(cardio);
cardio.x = 0;
cardio.y = 1129,05;

/*Colocación del partado de Dietas*/
dietas = new Dietas;
escenario.addChild(dietas);
dietas.x = 0;
dietas.y = 1404;
}

/*============================ Creación de la carga de pantalla de la Calculadora ============================*/
//Variables para cargar la Calculadora
var mi_cargador:Loader = new Loader();
var ruta_calculadora:URLRequest = new URLRequest("calculadora.swf");

//Indicamos que nos cargue la pantalla a partir de la ruta especificada
mi_cargador.load("ruta_calculadora");
cargador.addChild(mi_cargador);

//Habilitamos los botones necesarios
calculadora.addEventListener(MouseEvent.CLICK, calculadoraHandler);

//Definimos las funciones
function calculadoraHandler(MouseEvent)
{
mi_cargador.unload();
mi_cargador.load(ruta_calculadora)
}
/*====================================== Fin de la pantalla Calculadora ======================================*/


/*=========================================== Creación del Scroll ===========================================*/
/*Creamos una función privada para mover hacia abajo la aplicación*/
private function scrollDownHandler(MouseEvent)
{
escenario.startDrag(false, new Rectangle(0,0,0,-400));
}

/*Creamos una función privada para mover hacia arriba la aplicación*/
private function scrollUpHandler(MouseEvent)
{
escenario.stopDrag();
}
/*====================================== Fin de la creación del Scroll ====================================*/

}

}

--------------------------------------------------------------------------------------------------------------------------------

¿Me podríais ayudar a resolver esta duda? Es que no me queda claro como lo tengo que colocar

Gracias adelantadas!! Un saludo!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Problemas al cargar pantalla secundaria

Publicado por Alejandro (369 intervenciones) el 28/06/2023 17:43:50
Hola, Torsku.

En el código que proporcionaste, veo algunos problemas que podrían estar impidiendo que la transición a la pantalla secundaria funcione correctamente. Aquí hay algunas sugerencias para solucionarlo:

1. En la sección donde cargas la pantalla de la calculadora, hay un error en la línea donde intentas cargar la URL de la calculadora. En lugar de usar `"mi_cargador.load("ruta_calculadora");"`, debes usar `"mi_cargador.load(ruta_calculadora);"` para pasar la variable correcta. Además, asegúrate de que el archivo SWF de la calculadora esté en la ubicación correcta y tenga el nombre de archivo correcto.

2. Asegúrate de que el elemento contenedor para cargar la pantalla de la calculadora, que parece ser `cargador`, esté presente en la pantalla principal. No veo su declaración en el código proporcionado, así que asegúrate de haberlo creado correctamente y agregarlo al escenario principal antes de intentar cargar la calculadora en él.

Aquí hay un ejemplo actualizado del código relevante:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.geom.Rectangle;
import flash.display.Loader;
import flash.net.URLRequest;
 
public class practica extends MovieClip
{
    // Variables página principal
    // ...
 
    public function practica()
    {
        // ...
 
        // Colocación del partado de Calculadora
        // ...
 
        // Colocación del partado de Cabecera
        // ...
 
        // Colocación del partado de Halterofilia
        // ...
 
        // Colocación del partado de Atletismo
        // ...
 
        // Colocación del partado de Cardio
        // ...
 
        // Colocación del partado de Dietas
        // ...
 
        // Creación de la carga de pantalla de la Calculadora
        var mi_cargador:Loader = new Loader();
        var ruta_calculadora:URLRequest = new URLRequest("calculadora.swf");
 
        // Habilitamos los botones necesarios
        calculadora.addEventListener(MouseEvent.CLICK, calculadoraHandler);
 
        // Definimos las funciones
        function calculadoraHandler(event:MouseEvent):void
        {
            mi_cargador.unload();
            mi_cargador.load(ruta_calculadora);
            cargador.addChild(mi_cargador);
        }
 
        // ...
    }
}

Asegúrate de tener en cuenta estos cambios y de que el archivo SWF de la calculadora esté en la ubicación correcta. También asegúrate de haber creado el elemento `cargador` en tu escenario principal antes de ejecutar la aplicación.

Espero que esto te ayude a resolver el problema y que puedas cargar correctamente la pantalla de la calculadora en tu aplicación de Android.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar