перерисовать области во флеше из холста? - PullRequest
1 голос
/ 12 июля 2011

В настоящее время я создаю приложение для прудовой вспышки, и у него есть эффект водной ряби, когда он рендерится, эффект водной ряби находится не в моем положении мыши, хотя фактически моя функция заставляет его рисовать в моем положении мыши. Я сделал показ области перерисовки на флеш-плеере и прикрепил это изображение. Кто-нибудь знает, как решить эту проблему? enter image description here

addEventListener(MouseEvent.MOUSE_MOVE,onMouseMoveTriggered);
addEventListener(MouseEvent.MOUSE_DOWN, onMouseDownTriggered);
private function onMouseMoveTriggered(e:Event):void {
            if (canPlay)
            {
            waterMovementSound.play();
            canPlay = false;
            soundTimer.start();
            }
            myRippler.drawRipple(stage.mouseX, stage.mouseY, 10, 0.9);

            //evt.stageX
            //evt.stageY
        }
        private function onMouseDownTriggered(e:Event):void {
            myRippler.drawRipple(stage.mouseX,stage.mouseY, 10, 0.9);
            stage.mouseX;
            stage.mouseY;


        }

Ответы [ 2 ]

2 голосов
/ 12 июля 2011

Я бы подумал, что вам нужно проверить, что для stage.align задано значение topLeft, а для stage.scaleMode установлено значение noScale, если на самом деле вам не нужны другие настройки.

Если у вас все еще есть проблемы, возможно, это связано с тем, что вы рисуете внутри вложенного контейнера (Sprite, DisplayObject и т. Д.), И это смещение.Если это так, вы могли бы использовать globalToLocal для решения проблемы позиционных проблем, связанных с мышью?

0 голосов
/ 13 июля 2011

Я нашел способ обойти эту проблему, эффекты перемещаются не к месту, когда мои рыбы плывут к случайной точке x, y рядом с холстом max Y и max X, поэтому я уменьшил сгенерированные случайные значения XY длярыбы должны плавать намного меньше, чем max Y и max X, поэтому они не будут плавать близко к краям.

...