私が作っているパズルゲームの一部のために、ダイナミックマスキングで遊んでいます。AS3マスク奇妙な結果
私は6個のテストパズルを持っています。これはあなたがあなたの作品を置く場所
- 黒形状:パズルは、3層の外に存在します代わりに
黒い形状は問題ありません。これは、結果のスプライト上の単なる色変換です。
完成したピースを1つのスプライトで結合すると、ピース間のヘアラインのギャップよりも小さいことがわかります。
私が考えていた方法の1つは、完全な結果スプライトにマスクを置くことで、見つかった部分だけが見えるようにすることでした。私はヘアラインのギャップを避けるために作品の周りに1pxの境界を追加します。
だから、私はマスクで遊んで開始しました:
// test
var test: Sprite = new TestSprite() as Sprite;
test.x = test.y = 100;
addChild(test);
// puzzle pieces
var pieces: Vector.<Sprite> = new Vector.<Sprite>;
pieces.push(new TurtlePiece1());
pieces.push(new TurtlePiece2());
//pieces.push(new TurtlePiece3());
//pieces.push(new TurtlePiece4());
pieces.push(new TurtlePiece5());
pieces.push(new TurtlePiece6());
// finished locations for each piece
var points: Vector.<Point> = new Vector.<Point>;
points.push(new Point(0.3, 7.25));
points.push(new Point(110.35, 0));
//points.push(new Point(98.25, 52.6));
//points.push(new Point(23.95, 69.30));
points.push(new Point(157.25, 61.95));
points.push(new Point(146.7, 100.70));
var mask: Sprite = new Sprite();
for (var i: int = 0; i < pieces.length; i++) {
pieces[i].x = points[i].x;
pieces[i].y = points[i].y;
mask.addChild(pieces[i]);
}
test.mask = mask;
完全な形状とマスク形状は次のようになります。それはこのようになりますマスクを適用した後
:
私は結果なしでビットマップとしてキャッシュしようとしました。誰でも問題が何であるか考えていますか?事前に
TNXを、種類に関しては
、 イェルーンは
はにcacheAsBitmapMatrix Pのようになります。あなたは、単一のグラフィック内の2つの以上の形状を呼び出す重なったときに起こります汚れ。あなたはそれを呼んでいますか? – TheDarkIn1978
私はそれを呼んでいません。私は、マスクとテストスプライトのためにcacheabitmap = trueを設定してみました。私はcacheAsBitmapMatrixを試していません。 – Jeroen
さて、私は今、マスクとテストスプライトにcacheAsBitmapMatrixを設定しようとしました。同じ結果。 – Jeroen