Shadow_1512
12.11.2009, 14:35
Добрый день!
Сразу хочу извиниться за возможные глупые строки, я только начинаю вникать в программирование на AS, все, что было мной сделано до этого - это карта Северо-Запада с возможностью кликнуть по региону и получить с сервера нужную информацию в зависимости от того, где был сделан клик.
Сейчас задача сложнее - создать фотогалерею. Ясно, что есть готовые решения и так далее, но надо вот сделать самим. Я не дизайнер, т.е. рисует статические сцены и создает объекты и слои - другой человек.
Человек вот этот создал два кадра - на первом preloader, который обозначает процесс загрузки изображений, на втором, собственно, сцена, на которой есть большое изображение и куча маленьких превьюшек снизу, по клику на которые вместо одного большого загружается большое другое:). Никаких особых примочек и эффектов...пока..
С preloader я справился. Данные о картинках хранятся на сервере в XML, который спокойно загружается, обрабатывается, получается список картинок, который надо загрузить, который я с божьей помощью, хелпа и этого форума тоже вполне удачно загружаю, поэтому прелоадер у меня вполне адекватно отображает состояние загрузки и все проходит как надо. Загружается последнее изображение, перепрыгиваем на кадр 2 и тут главная проблема:
маленькие картинки на этапе обработки надо бы сделать кнопками, как того хотел дизайнер. Т.е. он создал на сцене объект "кнопка", сделал ему два состояния и доволен. А что мне с этим делать? Да, я могу создать объект кнопка
function onmPicLoaded(evt:Event):void
{
preloader_panel.width = evt.target.currentWidth;
var frame_btn = new Frame_Button();
frame_btn.addChild(evt.target.contentData);
frame_btn.x = currentXButton;
frame_btn.y = currentYButton;
buttons.push(frame_btn);
currentXButton += 60;
//trace(evt.target.content);
}
тут описано, что я делаю, когда загружается маленькая картинка. Первая строчка - изменение состояния ползунка, во второй я создаю кнопку того класса, который нужен, чтобы кнопка выглядела и вела себя как хочет дизайнер, потом пытаюсь добавить в нее BitMap Data. Почитав немного разного, я понял, что у меня вряд ли что получится (компиляция говорила о том же), я преобразовал подобный объект в MovieClip. Теперь все хорошо, но теперь состояния кнопки уже не такие как хочет дизайнер, да и это вроде как не совсем кнопка.
function onComplete(evt:Event):void
{
gotoAndPlay(2);
for(var i = 0; i < buttons.length; i ++)
{
addChild(buttons[i]);
}
}
Данный метод вызывается, когда последняя картинка загружена. Я прыгаю на второй кадр и пытаюсь добавить все свои кнопки на сцену. Ну тут тоже все плохо, потому что по замыслу, я их должен добавить не просто на сцену а на какой-то слой какого-то объекта. Вот это мне пока совсем не ясно.
Много написал, каков же вопрос:
1. Правильно ли я понимаю, что если я хочу загрузить изображение в некий объект на сцене, то он не может быть типа кнопка, а если может, то как это сделать?
2. Как реализовать добавление дочернего объекта к определенному объекту сцены в определенный его слой?
Заранее спасибо.
Сразу хочу извиниться за возможные глупые строки, я только начинаю вникать в программирование на AS, все, что было мной сделано до этого - это карта Северо-Запада с возможностью кликнуть по региону и получить с сервера нужную информацию в зависимости от того, где был сделан клик.
Сейчас задача сложнее - создать фотогалерею. Ясно, что есть готовые решения и так далее, но надо вот сделать самим. Я не дизайнер, т.е. рисует статические сцены и создает объекты и слои - другой человек.
Человек вот этот создал два кадра - на первом preloader, который обозначает процесс загрузки изображений, на втором, собственно, сцена, на которой есть большое изображение и куча маленьких превьюшек снизу, по клику на которые вместо одного большого загружается большое другое:). Никаких особых примочек и эффектов...пока..
С preloader я справился. Данные о картинках хранятся на сервере в XML, который спокойно загружается, обрабатывается, получается список картинок, который надо загрузить, который я с божьей помощью, хелпа и этого форума тоже вполне удачно загружаю, поэтому прелоадер у меня вполне адекватно отображает состояние загрузки и все проходит как надо. Загружается последнее изображение, перепрыгиваем на кадр 2 и тут главная проблема:
маленькие картинки на этапе обработки надо бы сделать кнопками, как того хотел дизайнер. Т.е. он создал на сцене объект "кнопка", сделал ему два состояния и доволен. А что мне с этим делать? Да, я могу создать объект кнопка
function onmPicLoaded(evt:Event):void
{
preloader_panel.width = evt.target.currentWidth;
var frame_btn = new Frame_Button();
frame_btn.addChild(evt.target.contentData);
frame_btn.x = currentXButton;
frame_btn.y = currentYButton;
buttons.push(frame_btn);
currentXButton += 60;
//trace(evt.target.content);
}
тут описано, что я делаю, когда загружается маленькая картинка. Первая строчка - изменение состояния ползунка, во второй я создаю кнопку того класса, который нужен, чтобы кнопка выглядела и вела себя как хочет дизайнер, потом пытаюсь добавить в нее BitMap Data. Почитав немного разного, я понял, что у меня вряд ли что получится (компиляция говорила о том же), я преобразовал подобный объект в MovieClip. Теперь все хорошо, но теперь состояния кнопки уже не такие как хочет дизайнер, да и это вроде как не совсем кнопка.
function onComplete(evt:Event):void
{
gotoAndPlay(2);
for(var i = 0; i < buttons.length; i ++)
{
addChild(buttons[i]);
}
}
Данный метод вызывается, когда последняя картинка загружена. Я прыгаю на второй кадр и пытаюсь добавить все свои кнопки на сцену. Ну тут тоже все плохо, потому что по замыслу, я их должен добавить не просто на сцену а на какой-то слой какого-то объекта. Вот это мне пока совсем не ясно.
Много написал, каков же вопрос:
1. Правильно ли я понимаю, что если я хочу загрузить изображение в некий объект на сцене, то он не может быть типа кнопка, а если может, то как это сделать?
2. Как реализовать добавление дочернего объекта к определенному объекту сцены в определенный его слой?
Заранее спасибо.