0

HaxeFlixel インストールの 3.3.0 への更新を完了したところですが、他のすべてのアップグレードの変更を解決した後も、説明が見つからないエラーが 1 つ発生します。背景要素を構成するにscrollFactorプロパティを設定していますが、3.3.0 より前は問題ありませんでした。FlxSprite更新で変更されたそのプロパティへの参照が見つからないようです。

プロパティを設定している関連コードは次のとおりです。

//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-ベータ]
openfl-native: [1.4.0]
openfl-サンプル: [1.3.0]
openfl: [1.4.0]

上記のスニペットを使用してプロジェクト フォルダーでライム テスト フラッシュを実行すると、次のようになります。

source/PlayState.hx:54: 文字 3-33: 書き込み用のフィールドまたは識別子 scrollFactor にアクセスできません

54行目は私が設定しているものですbg.scrollFactor

4

1 に答える 1

3

scrollFactor今回のアップデートのお知らせについてはよくわかりませんが、確かにアクセサがになっているのが現状な(default, null)ので、そのように設定できる可能性はありません。

また、HaxeFlixel ではFlxPointプールすることができ、ほとんどの場合プールする必要があるため、それ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;

そしてそれは完全に(そしてより速く)動作します。

于 2014-04-25T09:10:39.933 に答える