![]() |
|
||||||||||
|
|||||
|
Регистрация: Aug 2008
Сообщений: 17
|
Вопрос по правильной организации плейлиста.
Для создания плейлиста песен (например, как в винампе) необходимо для каждой песни создавать текстфилд, который будет ловить события мыши, и располагать их друг под другом, организуя таким образом список? Или есть способы более правильные? ![]() |
|
|||||
|
а все друг мой зависит от твоих нужд.
в определенных условиях описанный тобой способ вполне хорош |
|
|||||
|
Регистрация: Aug 2008
Сообщений: 17
|
ramshteks
Спасибо, функции самые обычные, при наведении на название песни, рядом с ней появляется кнопка удалить из плейлиста, а при клике на название песня играет, вроде больше ничего и не придумать. Способ, который я предложил, мне кажется не самым правильным, но может так все и делают? Если кто-то уже делал что-то подобное или имеет представление буду рад услышать ваше мнение. |
|
|||||
|
нормальнй способ, что тебя смущает не пойму...
|
|
|||||
|
Ну, можно отдельный класс playlistItem сделать на основе Sprite, в котором будет текстфилд с названием песни, кнопки для удаления плейлиста и т.д.
__________________
Дело не в тебе |
|
|||||
|
Это ж каких размеров должен быть плейлист, чтобы текстфилды в нем начали тормозить
![]()
__________________
Дело не в тебе |
|
|||||
|
Регистрация: Aug 2008
Сообщений: 17
|
Всем спасибо, пишу, уже что-то получается)
|
|
|||||
|
Регистрация: Nov 2005
Сообщений: 1,058
|
Он небудет тормозить даже если там будет 10000 строк. Просто нужно отрисовывать только те поля которые видны в данный момент.
|
|
|||||
|
Регистрация: Aug 2008
Сообщений: 17
|
Руководствуясь хэлпом флэша написал вроде, но на экране ничего не появляется.
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, время: 06:20. |
|
|
« Предыдущая тема | Следующая тема » |
|
|