Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   плейлист (как правильно сделать?) (http://www.flasher.ru/forum/showthread.php?t=115428)

sssssss 29.08.2008 17:06

плейлист (как правильно сделать?)
 
Вопрос по правильной организации плейлиста.

Для создания плейлиста песен (например, как в винампе) необходимо для каждой песни создавать текстфилд, который будет ловить события мыши, и располагать их друг под другом, организуя таким образом список?

Или есть способы более правильные? :)

ramshteks 29.08.2008 17:29

а все друг мой зависит от твоих нужд.
в определенных условиях описанный тобой способ вполне хорош

sssssss 29.08.2008 18:04

ramshteks
Спасибо, функции самые обычные, при наведении на название песни, рядом с ней появляется кнопка удалить из плейлиста, а при клике на название песня играет, вроде больше ничего и не придумать.

Способ, который я предложил, мне кажется не самым правильным, но может так все и делают? Если кто-то уже делал что-то подобное или имеет представление буду рад услышать ваше мнение.

ramshteks 29.08.2008 18:07

нормальнй способ, что тебя смущает не пойму...

AL.exe 29.08.2008 23:40

Ну, можно отдельный класс playlistItem сделать на основе Sprite, в котором будет текстфилд с названием песни, кнопки для удаления плейлиста и т.д.

Gaen 30.08.2008 03:48

Если не устраивает производительность, можно поизвращаться с рендингом текста в растр :)

AL.exe 30.08.2008 14:00

Это ж каких размеров должен быть плейлист, чтобы текстфилды в нем начали тормозить :)

sssssss 30.08.2008 17:06

Всем спасибо, пишу, уже что-то получается)

†‡Paladin‡† 30.08.2008 19:48

Цитата:

Сообщение от AL.exe (Сообщение 761246)
Это ж каких размеров должен быть плейлист, чтобы текстфилды в нем начали тормозить :)

Он небудет тормозить даже если там будет 10000 строк. Просто нужно отрисовывать только те поля которые видны в данный момент.

sssssss 30.08.2008 20:09

Руководствуясь хэлпом флэша написал вроде, но на экране ничего не появляется.

Код:

       
public class Main extends MovieClip
        {
                public var playList:Array;

                public function Main()
                {
                        init();       
                };

                private function init():void
                {

                playList = new Array();
                playList.push("A", "B", "C", "D");

                for (var i:int = 0; i < playList.length; i++)
                {
                        var playlistButton:MyButton = new MyButton();                                       
                        playlistButton.x = 50;
                        playlistButton.y = i*25;
                        playlistButton.addEventListener(MouseEvent.CLICK, handleButtonClick);
                        addChild(playlistButton);
 
                };

};
};

Код:


public class MyButton extends MovieClip
        {
                public var songButton:MovieClip;
                public var songname:TextField;

                public function MyButton()
                {               
                        init();
                };
               
                private function init():void
                {                               
                        songname = new TextField();
                        addChild(songname);
                        songname.autoSize = TextFieldAutoSize.LEFT;
                        songname.border=true;
                        songname.htmlText = "песня";

                        songButton = new MovieClip();
                        songButton.graphics.drawRect(songname.x, songname.y, songname.width, songname.height);
                        songButton.graphics.endFill();

                        songButton.addChild(songname);
                        songname.mouseEnabled = false;
                        songButton.buttonMode = true;                       

               
                };
};

Подскажите, в чем ошибка? :)


Часовой пояс GMT +4, время: 08:15.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.