我正在制作一个游戏(指向和点击),并且我试图在玩家行走时使可用的物品发光。这很简单,但我不知道为什么我会失败。我肯定错过了什么。
我已经有了代码,因为当我将它放在其他可用物品上时,我的可用物品会发光。所以我有一个Engine
类,我试图在其中放置让玩家行走时使项目发光的代码。和一个DraggedItem
班级。此类允许用户在舞台上拖动库存项目。
在我的DraggedItem
课上,我有这个功能:
private function itemGlow(isGlowing:Boolean):void{
if (isGlowing){
var glow:GlowFilter = new GlowFilter();
glow.color = 0xFFFF00;
glow.alpha = .75;
glow.blurX = 10;
glow.blurY = 10;
glow.quality = BitmapFilterQuality.MEDIUM;
draggedItem.filters = [glow];
} else {
draggedItem.filters = null;
}
}
在我的Engine
课堂上,我想在我的玩家走路时使用这个功能。
我坚持我可以这样说:
back = new Background(stage, thisBack);
back.currentBack.ground.addEventListener(MouseEvent.MOUSE_DOWN, shineItems, false, 0, true);
private function shineItems(e:MouseEvent):void{
trace(shineItems);
var thisClip = usableItems
if (playerControl){
stage.dispatchEvent(new Event("playerMoving"));
draggedItem.itemGlow(true);
}
}
但事实并非如此。我必须以错误的方式导入该函数。
所以我尝试添加Engine
类并更改draggedItem.itemGlow;
为itemGlow;
.
private function itemGlow(isGlowing:Boolean):void{
if (isGlowing){
var glow:GlowFilter = new GlowFilter();
var thisClip = usableItems
glow.color = 0xFFFF00;
glow.alpha = .75;
glow.blurX = 10;
glow.blurY = 10;
glow.quality = BitmapFilterQuality.MEDIUM;
thisClip.filters = [glow];
} else {
thisClip.filters = null;
}
}
但它也不起作用。
任何想法 ?
编辑
我放了draggedItem.itemGlow(true); 在shineItems 函数中,我现在遇到了这个错误:TypeError:错误#1009:无法访问空对象引用的属性或方法。在 com.laserdragonuniversity.alpaca::Engine/shineItems()[C:\Users\stephanberger4\Desktop\07 novembre\Tactile\com\laserdragonuniversity\alpaca\Engine.as:321]
第 321 行是:draggedItem.itemGlow(true);