我是as3的新记忆。今天我做了一件作品,但我已经堆积了。请帮助我:
我的例子:
•我在图书馆中有一个带有连接名称的符号:box_mc
import flash.display.MovieClip;
import flash.events.Event;
import Src.smoothAnimate;
var box_is:MovieClip = new box_mc();
box_is.name = 'box_na';
addChild(box_is);
var box_is:smoothAnimate = new smoothAnimate(); // ERROR 1151 HERE
•我有一个自定义类:
package Src
{
import flash.display.*;
import flash.events.Event;
/**
* ...
* @author Trunglvt
*/
public class smoothAnimate extends MovieClip
{
private var currentW:Number;
private var currentH:Number;
private var endX:Number;
private var endY:Number;
private var sp:Number;
function smoothAnimate() {
trace('trace');
}
public function changeSize(speed:Number, newW:Number, newH:Number) {
trace('test');
this.endX = newW; // get new size
this.endY = newH;
this.sp = speed;
this.addEventListener(Event.ENTER_FRAME, onFrame);
}
private function onFrame(e:Event) {
e.target.currentW = e.target.width;
e.target.currentH = e.target.height;
e.target.width += (e.target.endX - e.target.currentW) * e.target.sp;
e.target.height += (e.target.endY - e.target.currentH) * e.target.sp;
if (Math.floor(e.target.width) == Math.floor(e.target.endX) ||
Math.floor(e.target.height) == Math.floor(e.target.endY)) {
//stop function enterFrame here;
removeEventListener(Event.ENTER_FRAME, onFrame);
}
}
}
}
但运行时出错:
1151: A conflict exists with definition box_is in namespace internal.
我希望在Flash运行时,box_is
将在阶段添加,按功能changesize
调整大小。
请帮助我。 谢谢。
答案 0 :(得分:2)
当你说:
var box_is:smoothAnimate = new smoothAnimate();
此声明将出错。您之前说过:
,之前已宣布box_is
var box_is:MovieClip = new box_mc();
两个var
在同一范围内的名称不能相同。
如果您想重复使用box_is
符号,请不要使用var
。只需重新分配box_is
:
box_is = new smoothAnimate();