オブジェクトをクリックするとオブジェクトが光るゲームを作成しようとしています。画像を埋め込んでビットマップに渡すと、次のように正常に動作します。
package
{
import org.flixel.*;
public class HelloWorld extends FlxState
{
[Embed(source = "pics/Cancer.png")] private var cancerIMG:Class;
private var cancer:FlxSprite;
private var title_text:FlxText;
public function HelloWorld()
{
}
override public function create():void
{
/**
* Glow method test
*/
//Start Test
var bigbitmap:BitmapData = new BitmapData(320, 288, true, 0x00000000);
bigbitmap.copyPixels(Bitmap(new cancerIMG).bitmapData, new Rectangle(0, 0, 160, 288), new Point(16, 16), null, null, true);
cancer = new FlxSprite;
cancer.pixels = bigbitmap;
add(cancer);
//End Test
}
override public function update():void
{
super.update();
}
}
}
ただし、同じメソッドを使用してクラス スプライトを渡そうとすると、次のようになります。
_bx = new box(120, 120);
var bigbitmap:BitmapData = new BitmapData(320, 288, true, 0x00000000);
bigbitmap.copyPixels(Bitmap(_bx.pixels).bitmapData, new Rectangle(0, 0, 160, 288), new Point(16, 16), null, null, true);
_bx.pixels = bigbitmap;
add(_bx);
ボックスを次のように呼び出します。
public var _bx:box;
これ自体が FlxExtendedSprite です (テストのために通常の FlxSprite に戻しました)。試してみると、次のエラーが表示されます。
エラー #1034: タイプの強制に失敗しました: flash.display::BitmapData@3960701 を flash.display.Bitmap に変換できません。
この効果を修正して、このようなクラスで動作させる方法はありますか?
前もって感謝します!