2015-01-27 4 views
0

сегодня мой вопрос заключается в следующем:Получение процент краскам MovieClip

У меня есть игра, и одна из фаз является то, что вы должны пройти «защитный крем» на теле куклы. У меня уже есть этот эффект (изображение ниже), я использую альфа-фильтр в сочетании с нарисованной маской.

enter image description here

Интересно, как я могу сделать, чтобы проверить после 20 секунд игры, если пользователь заполнил 100% маски ...

Мой код это (простите, Я новичок, и бразильский ... любые вопросы спрашивайте меня):

stop(); 
import flash.display.Shape; 
import flash.events.Event; 
import flash.display.BlendMode; 
import flash.display.BitmapData; 
import flash.utils.Timer; 

var tempoFase2:Timer = new Timer(10000, 1); 

var corpo_creme:MovieClip = new corpo_mask(); 
addChild(corpo_creme); 
corpo_creme.x = corpo_branco.x; 
corpo_creme.y = corpo_branco.y; 

setChildIndex(corpo_branco, 1); 
setChildIndex(cabeca, 3); 
setChildIndex(corpo_creme, 2); 

var drawing:Shape = new Shape(); 
addChild(drawing); 

corpo_creme.mask = drawing; 
corpo_branco.blendMode = BlendMode.LAYER; 

stage.addEventListener(MouseEvent.MOUSE_MOVE,draw); 

function draw(e:Event):void { 
    drawing.graphics.beginFill(0xFFFFFF); 
    drawing.graphics.drawCircle(mouseX,mouseY,30); 
    drawing.graphics.endFill(); 
} 

Спасибо У.

ответ

1

Попробуйте это решение:

https://stackoverflow.com/a/15354416/1627055

В принципе, вы запускаете BitmapData.threshold() против маски типа BitmapData. Вы также можете нарисовать соответствующую часть вашего drawing по временному объекту BitmapData и сделать тот же трюк, убедитесь, что хотя ваш алгоритм будет считать области, которые не покрыты вашим рисунком, как заполненные, вы можете достичь этого, создав растровые данные предварительно заполненный белым.

+0

Друг, я не могу использовать этот ответ ... дает несколько ошибок ... есть что-то более простое? Объятия! –

+0

Друг? Объятия? !! –

+0

Я не считаю, что существует более простое решение, потому что поиск покрытия требует полной проверки. – Vesper