首先让我说我是全新的Flash开发,但不是OOP。我的任务是以面向对象的方式创建实时(意思是使用游戏循环)Flash游戏。我一直在线上关注指南,并且我认为我已经掌握了基本知识,但我的玩家精灵并未出现。玩家精灵不出现
我将一张图片导入到Flash中,然后将其转换为名为Player
的符号,现在它是一个影片剪辑。我将它导出为ActionScript,并调用类com.Player
。
此外,我已将我的文档的类设置为com.Engine
(这是我计划让我的游戏循环并将方法调用到其他类的地方)。
然后,我在与我的.fla
相同的目录中创建了一个名为com
的目录。在这个目录中,我做了Engine.as
和Player.as
,这里是他们两个代码:
package com {
import flash.display.MovieClip;
import flash.display.Stage;
public class Engine extends MovieClip {
public function Engine() {
// Create a player instance
var player:Player = new Player();
stage.addChild(player);
player.x = stage.stageWidth/2;
player.y = stage.stageHeight/2;
}
}
}
-
package com {
import flash.display.MovieClip;
public class Player extends MovieClip {
public function Player() {
}
}
}
据我所知,这应该使玩家出现在中心当我运行它的屏幕,但它不。我已验证Engine
类和构造函数正在使用trace("hello world")
进行调用,并且我得到了该输出。我也知道Player
类的构造函数是通过使用相同的方法调用的。我只是不明白为什么玩家不会出现在屏幕上。
如果我从我的图书馆中将Player
符号(正确的术语?)拖到舞台上,玩家精灵就会出现......所以我知道附有一张图片。
任何人都知道可能会出现什么问题?预先感谢您:)
如果你右击从库中播放符号,并进入“属性...”,是“导出为ActionScript“选中,并在”类“字段,你看到”com.Player“吗? – rid 2012-02-18 23:46:03
是的,是的:)虽然它没有基类,那有什么关系? – 2012-02-18 23:54:56
基类应该是'flash.display.MovieClip'。 – rid 2012-02-18 23:55:40