primero que nada me gustaria exhortar que estoy muy contento con haberme topado con este site de Tutorias de Action script en español. Tiene una comunidad y un repositorio muy grande y de muchisima ayuda. Espero que siga asi por mucho tiempo
Bueno, ahora la pregunta:
yo he creado el siguiente codigo para hacer mi pregunta un poco mas clara ya que no encuentro como explicarla bien. El siguiente codigo es una version disminuida del real asi eliminando otras funciones, variables y expresiones que no son relevantes al problema.
Clase Character utilizada para crear uno o varios personajes
Código :
class character {
var nombre:String;
var MP:Number;
function character() {
trace("New Character Created" );
}
function get info():Void {
trace("Name:" + this.nombre + " MP:" + this.MP);
}
}
Esta clase la voy a utilizar como Battle Engine
Código :
class battle {
var ofender:String
var victim:String
function battle() {
trace("Battle Engine Loaded");
}
function attack(ofender, victim, go:Boolean):Number {
if (go == true) {
trace(ofender + " golpea a " + victim + " por X cantidad de DMG" );
trace(ofender.MP);
}
return
}
}
Ahora por ultimo el Script Principal
Código :
import battle; import character; var player_battle:battle = new battle(); var player:character = new character(); var player2:character = new character(); player.nombre = "Sandra"; player.MP = 100 player2.nombre = "Luis"; player2.MP = 200 player_battle.attack(player, player2,true);
El problema es que cuando la funcion de player_battle.attack ejecuta el trace que me tira el Battle Class es el siguiente
[object Object] golpea a [object Object] por X cantidad de DMG
yo logro resolver eso si en el Script principal pongo en la funcion de player_battle.attack en ves de "player" o "player2" utilizo player.nombre o player2.nombre. Pero dentro de la script de la Clase de Battle quiziera utilizar una variable para identificar el objeto ya que va a pues variar hehe.
al utilizar trace(ofender.MP) dentro de la Clase de Battle me devuelve un "Undefined'.
Bueno esto es basicamente el problema. Espero que haya sido bastante claro con la pregunta.
Disculpen cualquier brutada que encuentren en el codigo solo llevo un mes utilizando AS
