我正在嘗試創建一個虛擬寵物/基本的模擬人生類型遊戲。 我要使用獨立的類文件並在主遊戲文件中調用它們。 我想寫一個類來控制我的角色,我可以將它添加到舞臺上,但不能讓我的生活讓它移動。 我剛剛花了4個小時看教程,看書,只是看不到我失蹤。 任何人都可以提供一些建議,讓這個工作? 這裏是我的代碼...使用多個類來控制一個字符
這是我的主類...
package {
import flash.display.MovieClip;
import MainCharacter;
import flash.events.KeyboardEvent;
public class Tamagotchi extends MovieClip {
public function Tamagotchi() {
var item:MainCharacter = new MainCharacter();
addChild(item);
item.addEventListener(KeyboardEvent.KEY_DOWN, item.KeyPressListener);
}
}
}
這是字符類...
package {
import flash.display.MovieClip;
import flash.events.KeyboardEvent;
import flash.events.Event;
import flash.events.MouseEvent;
public class MainCharacter extends MovieClip {
var soph: MovieClip = new SophRun;
public function MainCharacter() {
addChild(soph);
soph.x = 200;
soph.y = 300;
soph.addEventListener(KeyboardEvent.KEY_DOWN, KeyPressListener);
}
public function KeyPressListener(e:KeyboardEvent):void {
if (e.keyCode == 65)
{
soph.x -= 2;
}
if (e.keyCode == 68)
{
soph.x += 2;
}
if (e.keyCode == 87)
{
soph.y -= 2;
}
if (e.keyCode == 83)
{
soph.y += 2;
}
}
}
}
我提出的EventListener到多個地方並仍然無法正常工作。 我猜我缺少一些明顯的東西,但無法弄清楚什麼!
有趣的項目 - 除了回答如下,你是否創建了一個「Tamagotchi」的實例並將其添加到舞臺上?養成習慣的一件事就是當你想檢查是否發生了某些事情時,使用'trace()'語句作爲診斷 - 關鍵事件等被觸發等。另外,如果有方法和你以前沒有用過的功能 - 學習,然後應用到你的項目中。 –
是的,我可以在舞臺上看到角色,但仍然無法讓它移動!我很難過。 我嘗試過使用實例名稱,在開始時使用'.this',甚至在開始時使用'stage.'。沒有。不是件事。 我只是不明白它。 – ZombieDude
是的,我向keyPressListener函數添加了一條trace語句,但仍然沒有任何結果。這讓我瘋狂! – ZombieDude