Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Закрытая тема
Старый 11.05.2009, 20:49
droch_fhoula вне форума Посмотреть профиль Отправить личное сообщение для droch_fhoula Найти все сообщения от droch_fhoula
  № 1  
droch_fhoula
[+2 07.04.09]

Регистрация: Feb 2009
Сообщений: 70
По умолчанию как переписать код с кадра в .as

этот код:
Код AS3:
package {
import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.display.Sprite;  
import flash.events.Event;  
 
public class menuForLinks extends MovieClip {
 public var btns:Array = new Array('p1','p2','p3','p4', 'p5', 'p6', 'p7', 'p8');
 public function menuForLinks() {
 for (var i:uint = 0; i < btns.length; i++){
  btns[i].addEventListener(MouseEvent.ROLL_OVER, over); 
  btns[i].addEventListener(MouseEvent.ROLL_OUT,out);
  btns[i].buttonMode = true;
}
 }
function over(e:MouseEvent):void{
   e.currentTarget.gotoAndPlay('s1');
};
 
function out(e:MouseEvent):void{
	e.currentTarget.gotoAndPlay('s2');
};
}
}
постоянно выдает ошибки.
раньше писала в кадрах но слышала что в as3 это просто извращение.
код был написан в кадре и работал, после прописания в классе не работает
как заставить этот код работать.
понимаю что написано очень коряво и неверно поэтому и не работает.

Старый 11.05.2009, 21:13
Stargazer вне форума Посмотреть профиль Отправить личное сообщение для Stargazer Найти все сообщения от Stargazer
  № 2  
Stargazer

Регистрация: Nov 2008
Сообщений: 528
Код AS3:
public var btns:Array = new Array('p1','p2','p3','p4', 'p5', 'p6', 'p7', 'p8');
Вы создали массив строк.

Код AS3:
btns[i].addEventListener(MouseEvent.ROLL_OVER, over);
Но строка не может быть слушателем (хотя бы потому, что над строкой нельзя провести мышкой).

Быть может
Код AS3:
this[btns[i]].addEventListener(MouseEvent.ROLL_OVER, over);
?

Старый 11.05.2009, 21:20
Kuruki вне форума Посмотреть профиль Отправить личное сообщение для Kuruki Найти все сообщения от Kuruki
  № 3  
Kuruki

Регистрация: Jan 2008
Сообщений: 669
Лучше так:
Код AS3:
this[btns[i] as MovieClip].addEventListener(MouseEvent.ROLL_OVER, over);
А лучше так:
Код AS3:
(getChildByName(btns[i]) as MovieClip).addEventListener(MouseEvent.ROLL_OVER, over);
Как он у вас в кадре работал - не понятно

Добавлено через 10 минут
Да, но мы в разделе ActionScript 3.0.
Цитата:
Но строка не может быть слушателем
В данном случае скорее рассыльщиком

Старый 11.05.2009, 21:36
droch_fhoula вне форума Посмотреть профиль Отправить личное сообщение для droch_fhoula Найти все сообщения от droch_fhoula
  № 4  
droch_fhoula
[+2 07.04.09]

Регистрация: Feb 2009
Сообщений: 70
огромное спасибо!!! теперь все работает!
а может кто нибуть подсказать как к каждой кнопке ссылку прицепить?
это нужно примерно такую же строку создать только с ссылками на сайты?
Код AS3:
public var btns:Array = new Array('p1','p2','p3','p4', 'p5', 'p6', 'p7', 'p8');
или всетаки придется к каждой кнопке отдельно прописывать?

Старый 11.05.2009, 21:41
Stargazer вне форума Посмотреть профиль Отправить личное сообщение для Stargazer Найти все сообщения от Stargazer
  № 5  
Stargazer

Регистрация: Nov 2008
Сообщений: 528
Цитата:
Сообщение от Kuruki Посмотреть сообщение
Да, но мы в разделе ActionScript 3.0.
На самом деле, я ошибся, когда вспомнил про AS2. Там тоже вряд ли будет работать. Поэтому убрал этот комментарий.

Цитата:
Сообщение от droch_fhoula Посмотреть сообщение
а может кто нибуть подсказать как к каждой кнопке ссылку прицепить?
Непонятно, в чём трудность.


Последний раз редактировалось Stargazer; 11.05.2009 в 21:44.
Старый 11.05.2009, 21:45
droch_fhoula вне форума Посмотреть профиль Отправить личное сообщение для droch_fhoula Найти все сообщения от droch_fhoula
  № 6  
droch_fhoula
[+2 07.04.09]

Регистрация: Feb 2009
Сообщений: 70
p1 p2 p3 и тд. это кнопки.
как можно сделать чтоб при клике на каждую кнопку открывался бы определенный сайт?

Старый 11.05.2009, 21:52
Stargazer вне форума Посмотреть профиль Отправить личное сообщение для Stargazer Найти все сообщения от Stargazer
  № 7  
Stargazer

Регистрация: Nov 2008
Сообщений: 528
Шаг1. Прочесть, каким образом открыть хотя бы один сайт, хотя бы без кнопки.
Шаг2. Написать то же самое - но только для события щелчков на кнопках.

Старый 11.05.2009, 21:57
droch_fhoula вне форума Посмотреть профиль Отправить личное сообщение для droch_fhoula Найти все сообщения от droch_fhoula
  № 8  
droch_fhoula
[+2 07.04.09]

Регистрация: Feb 2009
Сообщений: 70
я знаю как открыть сайт при нажатии на кнопку.
просто хотела узнать, как прописать это событие сразу для всех кнопок.
тоесть если кнопки так:
Код AS3:
public var btns:Array = new Array('p1','p2','p3','p4', 'p5', 'p6', 'p7', 'p8');
то ссылки примерно так:
Код AS3:
public var url:Array = new Array('http://domen.ru','http://domen2.ru');
и если так можно то как задать чтоб кнопка соответствовала ссылке?

Старый 11.05.2009, 22:10
Kuruki вне форума Посмотреть профиль Отправить личное сообщение для Kuruki Найти все сообщения от Kuruki
  № 9  
Kuruki

Регистрация: Jan 2008
Сообщений: 669
Тогда лучше занести в btns не имена, а сами кнопки, а затем в слушателе кликов:
Код AS3:
var request:URLRequest = new URLRequest(urls[btns.indexOf(event.target)]);
Имя url сменил на urls, так логичнее.

Старый 11.05.2009, 22:17
droch_fhoula вне форума Посмотреть профиль Отправить личное сообщение для droch_fhoula Найти все сообщения от droch_fhoula
  № 10  
droch_fhoula
[+2 07.04.09]

Регистрация: Feb 2009
Сообщений: 70
Цитата:
Сообщение от Kuruki Посмотреть сообщение
Тогда лучше занести в btns не имена, а сами кнопки
плиз обьясните новичку как это?
я немного не поняла.

Создать новую тему Закрытая тема Часовой пояс GMT +4, время: 13:26.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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