![](/img/trans.png)
[英]HaxeFlixel: FlxSprite animation fails at runtime with Neko target
[英]Error setting scrollFactor on FlxSprite after update to HaxeFlixel 3.3.0
我剛剛完成了將HaxeFlixel安裝更新到3.3.0的工作,在解決了所有其他升級更改之后,我仍然遇到一個錯誤,找不到任何解釋。 我設置了scrollFactor
對房地產FlxSprite
s表示彌補我的背景元素,和之前3.3.0與它沒有任何問題。 我似乎找不到隨該更新而更改的對該屬性的任何引用。
這是我設置屬性的相關代碼:
//Setup bg
var bg:FlxSprite;
var scrollFactor:FlxPoint;
for (i in 0...loader.bgArray.length){
bg = new FlxSprite(0, 0, loader.bgArray[i][0]);
scrollFactor = new FlxPoint(
Std.parseFloat(loader.bgArray[i][1]),
Std.parseFloat(loader.bgArray[i][2]));
bg.scrollFactor = scrollFactor;
add(bg);
}
這是我從haxelib列表中得到的輸出:
flixel:[3.3.0]
hxcpp:[3.1.30]
石灰工具:[1.4.0]
青檸:[0.9.7]
openfl-html5:[1.4.0-beta]
openfl-native:[1.4.0]
openfl-samples:[1.3.0]
openfl:[1.4.0]
當我使用上面的代碼片段在我的項目文件夾中運行lime test flash時,我得到:
source / PlayState.hx:54:字符3-33:無法訪問字段或標識符scrollFactor以進行寫入
第54行是我設置bg.scrollFactor
。
我不確定有關此更新的通知,但實際上當前的情況是scrollFactor
訪問器是(default, null)
,因此沒有機會像這樣進行設置。
它甚至也不是最合適的方法,因為在HaxeFlixel中, FlxPoint
可以並且大部分應該合並,因此通常不使用new FlxPoint(x, y)
而是FlxPoint.get(x, y)
將使您的代碼運行更快。
無論如何,根據您的當前情況,只需使用
bg.scrollFactor.set(
Std.parseFloat(loader.bgArray[i][1]),
Std.parseFloat(loader.bgArray[i][2])
);
代替
scrollFactor = new FlxPoint(
Std.parseFloat(loader.bgArray[i][1]),
Std.parseFloat(loader.bgArray[i][2])
);
bg.scrollFactor = scrollFactor;
並且可以完美地運行(並且速度更快)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.