Código
on (release) { // Los separadores (fondo) tendrán el color de este botón, // y este botón el color que tenían los separadores: ExColorDelFondo = _level0.ColorDelFondo; _level0.ColorDelFondo = ColorDeCentro.getRGB().toString(16).toUpperCase(); _level0.ColorDelObjetoFondo.setRGB(parseInt(_level0.ColorDelFondo, 16)); ColorDeCentro.setRGB(parseInt(ExColorDelFondo, 16)); }
Funciona todo menos:
_level0.ColorDelObjetoFondo.setRGB(parseInt(_level0.ColorDelFondo, 16));
No importa qué ponga luego de RGB, no se aplica.
Pero desde el lv0 funciona:
ColorDelFondo = Rojo+Verde+Azul;
// Actualizar el color del objeto:
ColorDelObjetoFondo.setRGB(parseInt(ColorDelFondo, 16));
Le paso un texto hexadecimal (ColorDelFondo), lo convierte en decimal, y se lo asigna de color a un objeto.
La situación es la misma.
_level0.ColorDelFondo: FFFFFF
ColorDeCentro: 10066329
Explico desde el principio, no sé...
Esto es lo relevante en este momento:

Es largo explicar por qué se ve así, no viene al caso.
Lo que tiene color cyan es "las separaciones", también fondo. Se inició así:
Código
ColorDelObjetoFondo = new Color("Fondo"); ColorDelObjetoFondo.setRGB(parseInt(ColorDelFondo, 16));
Y se le puede cambiar el color con los botones con flechita de colores, así:
Código
Los botones cambian el color correspondiente y luego aplican eso.
function ActualizarColorDelFondo () { // Formar el color: ColorDelFondo = Rojo+Verde+Azul; // Actualizar el color del objeto: ColorDelObjetoFondo.setRGB(parseInt(ColorDelFondo, 16)); }
Estoy agregando botones que al presionarlos hagan intercambios, o sea, se ve uno blanco, al cliquearlo quedaría cyan (o como esté el fondo o separador en ese momento) y el fondo quedaría blanco.
Pero ese botón, para que aparezca de un color variable y haga un efecto, lo puse en una película. No debería haber problema con eso. Pero sucede lo que dije al inicio, no se aplica, no sé qué pasa.
Les dejo el archivo. Tienen que mirar el código del botón superior izquierdo, que en la imagen se ve blanco pero en el editor se ve gris como los demás. Vayan al 2ndo frame de eso y vean el cuadrado negro. Ahí está el código que falla.
Acabo de poner esto:
_level0.Rojo = "FF";
_level0.ActualizarColorDelFondo ();
...y funciona. Pero por qué esto no:
_level0.ColorDelObjetoFondo.setRGB(parseInt(_level0.ColorDelFondo, 16));
si es lo mismo que:
ColorDelObjetoFondo.setRGB(parseInt(ColorDelFondo, 16));
¿Hay algo mal escrito que no veo? La única diferencia es que el 1ero dice _level0. en 2 lados porque fue usado desde una película y lo que se quiere señalar está en el lv0.
Podría entonces usar la función mencionada luego de cambiar el valor del rojo, etc, pero no tiene mucho sentido modificar partes si ya tengo una variable que tiene el color a transferir.
Una posible explicación sería que ActualizarColorDelFondo se esté aplicando todo el tiempo pero la quité, puse
_level0.ColorDelObjetoFondo.setRGB(0);
y no funcionó.
https://docs.google.com/document/d/1HkhDR97uRp5Gv_ECbm7z0w301a5SFc-6/edit?usp=sharing&ouid=109273743447273895658&rtpof=true&sd=true
EDIT: Parece que es un bug.
Si esto:
on (release) {
_level0.ColorDelObjetoFondo.setRGB(0);
}
está en un botón del level0, funciona. Pero si el botón está dentro de una película, no. Se puede hacer funcionar poniendo el código en una función y llamándola, pero no debería ser necesario.





Autor



En línea





¿Por qué con string no? Ah, ya entendí, lo explicaste luego 