Flash 玩家精灵不出现
首先让我说我对flash开发是完全陌生的,但不是OOP。我的任务是以面向对象的方式创建一个实时(即使用游戏循环)Flash游戏。我一直在网上阅读指南,我想我已经掌握了基本知识,但是我的玩家精灵没有出现 我将一个图像导入到Flash中,然后将其转换为一个名为Flash 玩家精灵不出现,flash,actionscript-3,actionscript,Flash,Actionscript 3,Actionscript,首先让我说我对flash开发是完全陌生的,但不是OOP。我的任务是以面向对象的方式创建一个实时(即使用游戏循环)Flash游戏。我一直在网上阅读指南,我想我已经掌握了基本知识,但是我的玩家精灵没有出现 我将一个图像导入到Flash中,然后将其转换为一个名为Player的符号,现在它是一个电影剪辑。我将其导出为ActionScript,并调用类com.Player 此外,我还将文档的类设置为com.Engine(我计划在这里进行游戏循环并调用其他类的方法) 然后,我在与我的.fla相同的目录中创建
Player
的符号,现在它是一个电影剪辑。我将其导出为ActionScript,并调用类com.Player
此外,我还将文档的类设置为com.Engine
(我计划在这里进行游戏循环并调用其他类的方法)
然后,我在与我的.fla
相同的目录中创建了一个名为com
的目录。在该目录中,我创建了引擎.as
和播放器.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;
}
}
}
--
据我所知,当我运行播放器时,它应该会出现在屏幕中央,但事实并非如此。我已经验证了正在使用跟踪(“hello world”)
调用引擎
类和构造函数,并得到了该输出。我还知道Player
类的构造函数正在使用相同的方法调用。我只是不明白为什么播放器没有出现在屏幕上
如果我将播放器
符号(正确的术语?)从我的库拖到舞台上,播放器精灵就会出现。。。所以我知道有一张图片附在上面
有人知道会出什么问题吗?提前谢谢:)你的玩家精灵中有什么东西吗?如果您在.fla文件或其他文件中制作了精灵,则应扩展该名称,以便: 公共级别球员在你的佛罗里达州扩展了球员的职业道德 或者,您应该尝试在您的玩家类中绘制一些图形,以检查您的类是否实际显示:
public class Player extends MovieClip()
{
this.graphics.beginFill(0x00FF00);
this.graphics.drawRect(0,0,100,100);
this.graphics.endFill();
}
还要确保添加了所有正确的导入:)如果右键单击库中的播放器符号,然后转到“属性…”,是否选中了“为ActionScript导出”,并且在“类”字段中,是否看到“com.Player”?是和是:)尽管它没有基类,这有关系吗?基类应该是
flash.display.MovieClip
。我不确定是否可以从它自己的类中将它添加到stage中?尝试从实际拥有舞台的主程序添加到舞台。(我根本不确定这是否是问题,但值得一试)它不允许我将其更改为flash.display.MovieClip
,当我输入该选项并选择OK,然后重新打开属性窗口时,该字段再次为空。如果我验证基类定义,它会说指定的基类是本机类,将在运行时在播放器中定义。它无法编辑。
public class Player extends MovieClip()
{
this.graphics.beginFill(0x00FF00);
this.graphics.drawRect(0,0,100,100);
this.graphics.endFill();
}