1ero, Gracias por contestar

Jorge, no puedo llamarla des del Document Class porque el juego tendrs diferentes niveles y diferentes valores (dificultad, colores etc...)
Eliseoi, intenté con lo que me dijiste pero ahora me manda una avalancha de errores
La imagen es grande y no quiero que ocupe mucho espacio
http://img43.imageshack.us/img43/434/errorst.jpgAsi tengo por ahora el codigo
Código ActionScript :
package {
import flash.display.*;
import flash.ui.Mouse;
import flash.events.TimerEvent;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.text.TextField;
import flash.text.TextFieldType;
import flash.text.TextFormat;
import flash.text.TextFieldAutoSize;
import flash.utils.Timer;
import fl.transitions.Tween;
import fl.transitions.easing.*;
import flash.display.MovieClip;
// ------------------------------------------------------------------------------------------------------------
//---------------------------- FUNCION CONSTRUCTORA -----------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------
public class pongg extends MovieClip {
var bgColor:uint;
var playerColor:uint;
var enemyColor:uint;
var ballColor:uint;
var middleLineColor:uint;
var ballSpeed:int;
var scoreColor:uint;
var msgColor:uint;
var msg:String;
var scoreFont:String;
var scoreSize:int;
var dificultad:Number;
public function pongg(_bgColor:uint,
_playerColor:uint,
_enemyColor:uint,
_ballColor:uint,
_middleLineColor:uint,
_ballSpeed:int,
_scoreColor:uint,
_msgColor:uint,
_msg:String,
_scoreFont:String,
_scoreSize:int,
_dificultad:Number):void
{
bgColor=_bgColor;
playerColor=_playerColor;
enemyColor=_enemyColor;
ballColor=_ballColor;
middleLineColor=_middleLineColor;
ballSpeed=_ballSpeed;
scoreColor=_scoreColor;
msgColor=_msgColor;
msg=_msg;
scoreFont=_scoreFont;
scoreSize=_scoreSize;
dificultad=_dificultad
addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void {
removeEventListener(Event.ADDED_TO_STAGE, init);
stage.showDefaultContextMenu=false;
const STAGE_WIDTH:int=stage.stageWidth;
const STAGE_HEIGHT:int=stage.stageHeight;
var enemyVelocidad:Number=4;
var bg:MovieClip = new MovieClip();
bg.graphics.beginFill(bgColor);
bg.graphics.drawRect(0, 0, STAGE_WIDTH, STAGE_HEIGHT);
bg.graphics.endFill();
addChild(bg);
var player:MovieClip = new MovieClip();
player.graphics.beginFill(playerColor);
player.graphics.drawRect(0, 0, 8, 50);
player.graphics.endFill();
player.x=player.width;
player.y = (STAGE_HEIGHT / 2) - (player.height / 2);
addChild(player);
var enemy:MovieClip = new MovieClip();
enemy.graphics.beginFill(enemyColor);
enemy.graphics.drawRect(0, 0, 8, 50);
enemy.graphics.endFill();
enemy.x=STAGE_WIDTH-enemy.width*2;
enemy.y = (STAGE_HEIGHT / 2) - (enemy.height / 2);
addChild(enemy);
var ball:MovieClip = new MovieClip();
ball.graphics.beginFill(ballColor);
ball.graphics.drawCircle(0, 0, 5);
ball.graphics.endFill();
ball.x=STAGE_WIDTH/2-ball.width/2;
ball.y=STAGE_HEIGHT/2-ball.height/2;
addChild(ball);
var middleLine:MovieClip = new MovieClip();
middleLine.graphics.lineStyle(2, middleLineColor);
middleLine.graphics.lineTo(0, STAGE_HEIGHT);
middleLine.x=STAGE_WIDTH/2;
middleLine.y=0;
addChild(middleLine);
addEventListener(Event.ENTER_FRAME, enemyAI);
ball.speed=ballSpeed;
ball.dir=0;
player.score=0;
enemy.score=0;
var scoreFormat:TextFormat = new TextFormat();
scoreFormat.color=scoreColor;
scoreFormat.font=scoreFont;
scoreFormat.size=scoreSize;
var playerScore:TextField = new TextField();
playerScore.autoSize=TextFieldAutoSize.CENTER;
playerScore.x=STAGE_WIDTH/4;
playerScore.y=STAGE_HEIGHT/10;
playerScore.selectable=false;
playerScore.defaultTextFormat=scoreFormat;
playerScore.type=TextFieldType.DYNAMIC;
addChild(playerScore);
var enemyScore:TextField = new TextField();
enemyScore.autoSize=TextFieldAutoSize.CENTER;
enemyScore.x = (STAGE_WIDTH) - (STAGE_WIDTH / 4);
enemyScore.y=STAGE_HEIGHT/10;
enemyScore.selectable=false;
enemyScore.defaultTextFormat=scoreFormat;
enemyScore.type=TextFieldType.DYNAMIC;
addChild(enemyScore);
var startMsg:TextField = new TextField();
var startFormat:TextFormat = new TextFormat();
startFormat.color=msgColor;
startFormat.bold=true;
startMsg.x=0;
startMsg.y = (STAGE_HEIGHT) - (STAGE_HEIGHT / 12);
startMsg.selectable=false;
startMsg.type=TextFieldType.DYNAMIC;
startMsg.defaultTextFormat=startFormat;
startMsg.text=msg;
addChild(startMsg);
var playin:Boolean=false;
stage.addEventListener(MouseEvent.CLICK, startHandler);
var timer:Timer=new Timer(1,0);
timer.addEventListener(TimerEvent.TIMER, playerMovement);
timer.addEventListener(TimerEvent.TIMER, enemyAI);
timer.addEventListener(TimerEvent.TIMER, ballMovement);
timer.addEventListener(TimerEvent.TIMER, checkHit);
timer.addEventListener(TimerEvent.TIMER, scoreHandler);
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////// FUNCIONES ///////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function playerMovement(event:TimerEvent):void {
player.y=mouseY-player.height/2;
if (player.y>=STAGE_HEIGHT-player.height) {
player.y=STAGE_HEIGHT-player.height;
}
if (player.y<=0) {
player.y=0;
}
}
function enemyAI(Event) {
if (ball.x>STAGE_WIDTH/10*6&&ball.x<STAGE_WIDTH/10*8) {
var MyTween:Tween=new Tween(enemy,"y",Regular.easeOut,enemy.y,ball.y,1/enemyVelocidad,true);
}
}
// ------------------------------------------------------------------------------------------------------------
//---------------------------- PELOTA -----------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------
function ballMovement(event:TimerEvent):void {
if (playin) {
ball.x-=ball.speed;
ball.y-=ball.dir;
}
if (ball.x<=player.x) {
enemy.score++;
restart();
}
if (ball.x>=enemy.x) {
player.score++;
restart();
}
if (ball.y > (STAGE_HEIGHT - ball.height / 2)) {
ball.dir*=-1;
}
if (ball.y<ball.height/2) {
ball.dir*=-1;
}
}
function checkHit(event:TimerEvent):void {
if (ball.hitTestObject(player) ||
ball.hitTestObject(enemy)) {
ball.speed*=-1;
ball.dir = (Math.random() * 1) + (Math.random() * -1);
}
}
// ------------------------------------------------------------------------------------------------------------
//---------------------------- MARCADOR -----------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------
function scoreHandler(event:TimerEvent) {
playerScore.text=player.score;
enemyScore.text=enemy.score;
}
// ------------------------------------------------------------------------------------------------------------
//---------------------------- TEXTO DE BIENVENIDA -----------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------
function startHandler(event:MouseEvent):void {
Mouse.hide();
playin=true;
timer.start();
startMsg.text="";
}
// ------------------------------------------------------------------------------------------------------------
//---------------------------- FUNCION RESTART -----------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------
function restart():void {
ball.x=STAGE_WIDTH/2-ball.width/2;
ball.y=STAGE_HEIGHT/2-ball.height/2;
enemy.x=STAGE_WIDTH-enemy.width*2;
enemy.y = (STAGE_HEIGHT / 2) - (enemy.height / 2);
player.x=player.width;
player.y = (STAGE_HEIGHT / 2) - (player.height / 2);
playin=false;
ball.speed=ballSpeed;
ball.dir=0;
}
}
}Y este es el codigo fla, no lo he tocado
Código ActionScript :
nivel1.addEventListener(MouseEvent.CLICK, clickListener7);
function clickListener7(e:MouseEvent)
{
nivel1.removeEventListener(MouseEvent.CLICK, clickListener7);
trace("hola");
var juego:pongg = new pongg(0x333300,0xFF0000,0x0000FF,0xFFFFFF,0xAAAAAA,2,0xFFFFFF,0xFFFFFF,"Nivel 1","Arial",30,0);
addChild(juego);
}