![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2007
Сообщений: 43
|
gagaga, благодарю, но не работает.
|
|
|||||
|
Ну типа так:
package { import flash.display.Bitmap; import flash.display.Sprite; import flash.events.Event; import flash.events.MouseEvent; /** * @author KorDum */ public class TrackBitmap extends Sprite { [Embed(source = "../lib/star-double.jpg")] private var StarAsset:Class; private const SPEED_ALPHA:Number = 0.1; private var _bitmapList:Vector.<Bitmap>; private var _target:Bitmap; //--------------------------------------------------------------------------- // // CONSTRUCTOR // //--------------------------------------------------------------------------- public function TrackBitmap() { addEventListener(Event.ADDED_TO_STAGE, addedToStageHandler); } //--------------------------------------------------------------------------- // // PRIVATE HANDLERS // //--------------------------------------------------------------------------- private function addedToStageHandler(event:Event):void { removeEventListener(Event.ADDED_TO_STAGE, addedToStageHandler); _bitmapList = new <Bitmap>[]; _target = new StarAsset() as Bitmap; addChild(_target); addEventListener(Event.ENTER_FRAME, enterFrameHandler); stage.addEventListener(MouseEvent.MOUSE_MOVE, stage_mouseMoveHandler); } private function stage_mouseMoveHandler(event:MouseEvent):void { _target.x = mouseX; _target.y = mouseY; var bitmap:Bitmap = new StarAsset() as Bitmap; bitmap.x = mouseX; bitmap.y = mouseY; addChild(bitmap); _bitmapList.push(bitmap); //event.updateAfterEvent(); } private function enterFrameHandler(event:Event):void { for (var i:int = _bitmapList.length - 1; i >= 0; i--) { var bitmap:Bitmap = _bitmapList[i]; bitmap.alpha -= SPEED_ALPHA; if (bitmap.alpha <= 0) { _bitmapList.splice(_bitmapList.indexOf(bitmap), 1); removeChild(bitmap); } } } } } test.rar
__________________
тут я |
|
|||||
|
[+1 22.04.13]
[+1 06.03.13] Регистрация: Apr 2012
Сообщений: 239
|
Цитата:
Добавлено через 41 секунду и ссылку на битмап убивать |
|
|||||
|
Ссылки на битмапы я убиваю и так вообще-то.
Диспоз битмапдаты угу, забыл. if (bitmap.alpha <= 0) { _bitmapList.splice(_bitmapList.indexOf(bitmap), 1); bitmap.bitmapData.dispose(); removeChild(bitmap); } Пул можно реализовать. Но не заморачивался. Я сделал быстрый пример на скорую руку с первой попавшейся картинкой. Тем более, раз дизайнер топикстартер, значит там ничего грузящего не будет. Можно принебречь в данном контексте.
__________________
тут я |
|
|||||
|
Регистрация: Oct 2007
Сообщений: 43
|
КорДум, я такой нубец, думаю, что если бы вы мне прислали только код, то я никогда бы не разобрался, спасибо что прислали исходник. Ради не известной персоны, написали такой скрипт, огромное вам спасибо!
Скинул вам в личку своё мыло, если вам будет нужно что либо из флеш анимации или дизайна, ну мало ли, пишите, думаю помогу. gagaga, вас спасибо тоже! |
|
|||||
|
.
|
gagaga, напомните, пожалуйста, в каких случаях необходимо использовать BitmapData#dispose(). И почему не сработает GC в данном примере?
|
![]() |
![]() |
Часовой пояс GMT +4, время: 04:12. |
|
|
« Предыдущая тема | Следующая тема » |
|
|