나는 만들고있는 퍼즐 게임의 일부분을 동적 마스킹으로 놀고 있습니다.AS3 마스크 이상한 결과
나는 6 조각으로 시험 퍼즐을 가지고있다. 퍼즐은 3 층에서 존재 : 당신이
- 검은 모양 = 이것이 =이 발견 조각의 결합 된 결과를 나타내는 층
- 느슨한 조각은 = 이동 될 수 있습니다 제자리에.
검은 색 모양은 문제가되지 않으며 결과 스프라이트에 대한 간단한 색상 변환입니다.
완성 된 조각을 하나의 스프라이트로 결합하면 조각 사이의 헤어 라인 간격보다 작게 느껴집니다. 이것은 너무 좋아 보이지 않으므로 다음과 같은 방법을 생각해 보았습니다.
한 가지 방법은 완전한 결과 스프라이트에 마스크를 두어 발견 된 조각 만 볼 수있게하는 것입니다. 헤어 라인 간격을 피하기 위해 조각 주위에 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가 피처럼 보이는 흠집. 그걸 부르니? – TheDarkIn1978
나는 그것을 부르지 않을 것이다. 나는 마스크와 테스트 스프라이트를 위해 cacheABitmap = true를 설정하려고 시도했다. 나는 cacheAsBitmapMatrix를 시도하지 않았다. – Jeroen
자, 이제 마스크와 테스트 스프라이트에 cacheAsBitmapMatrix를 설정하려고했습니다. 같은 결과. – Jeroen