【发布时间】:2014-12-24 06:27:49
【问题描述】:
我很难弄清楚这一点。这是我自己的第一个游戏的代码,每当我运行它返回的程序时:
场景 1,图层“Actionscript”,第 2 帧,第 95 行,第 36 列 1067: 将 Class 类型的值隐式强制转换为不相关的类型 flash.display:DisplayObject。
我试图在任何地方切换东西,但我不知道如何解决它。浏览周围我注意到一些关于混合实例和类的事情,但是我对此很陌生,不确定它们之间的差异以及从哪里开始解决这个问题。下面是我的全部代码。
import flash.events.Event;
import flash.display.MovieClip;
import flash.display.DisplayObject;
import flash.events.MouseEvent;
stop();
var container:MovieClip = new MovieClip;
addChild(container);
//Make the player move
function playerMovement (event:Event):void
{
playerMC.y = stage.mouseY
}
stage.addEventListener(Event.ENTER_FRAME, playerMovement);
//-----
//Make playerLasers work
function playerShoot (event:MouseEvent):void
{
var playerLaser:MovieClip = new playerLaserMC;
playerLaser.y = playerMC.y + 69;
playerLaser.x = playerMC.x + 125;
container.addChild(playerLaser);
}
stage.addEventListener(MouseEvent.CLICK, playerShoot);
//add damage dealt here -
//--------
//Spawn random enemies
function addEnemy(event:Event)
{
var sendEnemy:Number = Math.random();
if (sendEnemy<=.01)
{
var enemyGenerator:Number = Math.random();
var minY:uint = 0;
var maxY:uint = 300;
var rangeY = maxY - minY;
var randomY:Number = Math.ceil(Math.random()*rangeY) + minY
}
if (enemyGenerator <=.25)
{
var newEnemy1:MovieClip = new enemyType1();
newEnemy1.x = 100;
newEnemy1.y = randomY;
container.addChild(newEnemy1);
}
else if(enemyGenerator>.25, enemyGenerator<=.5)
{
var newEnemy2:MovieClip = new enemyType2();
newEnemy2.x = 100;
newEnemy2.y = randomY;
container.addChild(newEnemy2);
}
else if(enemyGenerator>.5, enemyGenerator<=.75)
{
var newEnemy3:MovieClip = new enemyType3();
newEnemy3.x = 100;
newEnemy3.y = randomY;
container.addChild(newEnemy3);
}
else if(enemyGenerator>.75, enemyGenerator<=1)
{
var newEnemy4:MovieClip = new enemyType4();
newEnemy4.x = 200;
newEnemy4.y = randomY;
container.addChild(newEnemy4);
}
}
stage.addEventListener(Event.ENTER_FRAME, addEnemy);
//--------
//Destoy Enemies
function destroyEnemy(event:Event):void
{
if (container.hitTestObject(enemyType1))
{
trace ("Hit Enemy");
}
else if (container.hitTestObject(enemyType2))
{
trace ("Hit Enemy");
}
else if (container.hitTestObject(enemyType3))
{
trace ("Hit Enemy");
}
else if (container.hitTestObject(enemyType4))
{
trace ("Hit Enemy");
}
}
stage.addEventListener(Event.ENTER_FRAME, destroyEnemy);
【问题讨论】:
-
你能澄清你的确切问题吗?你有什么问题?
标签: actionscript-3 flash