我得到了以下代码,并且flash事件都已正确加载。 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.1.6/Chart.min.js"></script>
<div>
<canvas id="LineWithLine" width="600" height="400"></canvas>
</div>
是一个影片剪辑,并被分配了一个类。
ball
但现在实例var speedx: Number=5;
var speedy: Number=3;
var myball = new ball();
addChild(myball);
addEventListener(Event:ENTER_FRAME,ballmove);
function ballmove(e:Event):void{
myball.x+=speedx;
myball.y+=speedy;
}
不会移动,它只会停留在myball
位置。请帮助我,并建议如何让这个myball沿着星际线移动..
如果我从库中拖放了实例,那么
0,0
工作得很好,但在myball.x+=speedx;
myball.y+=speedy;
给出后无效。
答案 0 :(得分:1)
在您的代码中,您错误地使用Event:ENTER_FRAME
时应该:Event.ENTER_FRAME
。我想知道是否存在“无声”错误?测试影片时,使用Ctrl + Shift + Enter运行调试器(提供有关问题/错误的更好反馈)。
var myball = new ball();
没有任何意义。您可以使用以下逻辑声明实例:
var 名称:数据类型 = 值 ,In您的代码只是说明了 var 名称 = 值 。令人惊讶的是它有效,但我想知道如果对此感到满意可能会导致更大的未来项目出现问题?
实例名称仅影响Stage上已有的对象。如果您要按代码添加(来自库),请确保使用链接名称创建对象的新实例。
解决方案:
在库中,右键单击“球”对象并选择“属性”,确保“name”为ball
并勾选“导出ActionScript “(您应该看到”类“成为Class: ball
)。好的。
现在,在您的代码中,您可以通过以下方式创建新实例:var myball: ball = new ball();
...
您的代码应该是
var speedx: Number=5;
var speedy: Number=3;
var myball: ball = new ball();
addChild(myball);
addEventListener(Event.ENTER_FRAME, ballmove);
function ballmove(e:Event):void
{
myball.x += speedx;
myball.y += speedy;
}