我已将MovieClip的实例名称设置为char,当我尝试编译此代码时,我得到2个错误:
package com.game
{
import flash.display.MovieClip;
import flash.events.*;
public class game extends MovieClip
{
var gravity = 0.8;
var velocity = 0;
char.addEventListener(Event.ENTER_FRAME,isHitted);
function isHitted(event:Event):void
{
if (char.hitTestObject(level1))
{
velocity++;
char.y -= gravity+velocity;
}
else
{
}
}
错误:
.../game.as, Line 13 1120: Access of undefined property char.
../game.as, Line 13 1120: Access of undefined property isHitted.
答案 0 :(得分:2)
首先,听起来这个类定义是你所指的实例的定义,如果是,你应该使用'this'而不是'char'
此外,您通常不会指定方法调用,如:
char.addEventListener(Event.ENTER_FRAME,isHitted);
声明类时的方法之外的。相反,该行代码应存在于构造函数内或在MovieClip实例化期间调用的方法中。
答案 1 :(得分:0)
你需要在'游戏'之前使用'char'才能使用它。
一种方法是在实例化“游戏”时将'char'作为参数传递。
中@ lee-burrows的回答中描述了两种方法。