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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Закрытая тема
Старый 11.05.2009, 22:24
Kuruki вне форума Посмотреть профиль Отправить личное сообщение для Kuruki Найти все сообщения от Kuruki
  № 11  
Kuruki

Регистрация: Jan 2008
Сообщений: 669
Код AS3:
btns = new Array(getChildByName('p1'), getChildByName('p2'), ...);
Только насколько я помню создать такой массив прямо в объявлении переменной класса не получится, поэтому нужно перенести этот код например в конструктор.
Кстати теперь заработает ваш код в первом посте и только он Догадайтесь почему


Последний раз редактировалось Kuruki; 11.05.2009 в 22:27.
Старый 11.05.2009, 22:29
Stargazer вне форума Посмотреть профиль Отправить личное сообщение для Stargazer Найти все сообщения от Stargazer
  № 12  
Stargazer

Регистрация: Nov 2008
Сообщений: 528
Цитата:
Сообщение от droch_fhoula Посмотреть сообщение
плиз обьясните новичку как это?
я немного не поняла.
Код AS3:
v= this.getChildByName("имя")
Таким образом вы можете получить указатель на визуальный элемент (v в роли произвольной переменной), в частности кнопку.

"bt1" - для AS это означает просто текст. Поэтому каждый раз как вы захотите проделать что-то с самой кнопкой - вам необходимо каким-то образом найти эту кнопку.

Поэтому часто бывает удобнее хранить в переменных указатели на сами кнопки, а не на их имена.

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

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

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

Регистрация: Jan 2008
Сообщений: 669
Это не будет для вас достижением, если вы не поймете как он работает. Если уж собрались учить язык, то нужно начать с основ. Советую эту книгу. Если же язык используется "только для баннеров", то не нужны вам эти классы и AS3 вовсе. AS1 вполне достаточно и даже попроще.

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

Регистрация: Nov 2008
Сообщений: 528
Для баннеров, действительно, использовать AS1 удобнее. Хотя смотря какой баннер.

"Конструктор" - это функция, которая вызывается, когда компилятор понимает, что ему нужно создать новый экземпляр вашего класса. Конструктор объявляется как public function и обязательно должен иметь то же самое имя, что и имя вашего класса.

В вашем случае
Код AS3:
public function menuForLinks() {
    // содержимое...
}
это и есть конструктор.

Старый 12.05.2009, 01:19
AL.exe вне форума Посмотреть профиль Отправить личное сообщение для AL.exe Посетить домашнюю страницу AL.exe Найти все сообщения от AL.exe
  № 16  
AL.exe
 
Аватар для AL.exe

Регистрация: Jan 2004
Адрес: Net
Сообщений: 1,049
Отправить сообщение для AL.exe с помощью ICQ
Тогда уж MenuForLinks
__________________
Дело не в тебе

Старый 12.05.2009, 11:43
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 17  
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
Пример меню с документ классом
http://www.murmadillo.tut.su/html/me...tton-href.html

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

Регистрация: Feb 2009
Сообщений: 70
Alex Lexcuk большое спасибо хорошоий пример.
но я всетаки хочу также разобратся с этим кодом.
книгу колина мука пока только начинаю читать, поэтому пока что нужна помощь знающих людей.
я почти завершила код.
он переходит по ссылке,но все кнопки переходят только по первой ссылке
как указать чтоб определенная кнопка шла к определенной ссылке.
Код AS3:
package {
import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.display.Sprite;  
import flash.events.Event;
import flash.net.navigateToURL;
import flash.net.URLRequest;
import flash.net.URLVariables; 
 
 
public class menuForLinks extends MovieClip {
 public var btns:Array = new Array('p1','p2','p3','p4', 'p5', 'p6', 'p7', 'p8');
 public var urls:Array = new Array('http://flasher.ru','http://drochfhoula.com','http://vampiromovie.com,'http://thedeadsleepeasy.com','http://myspace.com','http://thefwa.com','http://elvampiro.net','http://google.com');
 public function menuForLinks() {
 for (var i:uint = 0; i < btns.length; i++){
  (getChildByName(btns[i]) as MovieClip).addEventListener(MouseEvent.ROLL_OVER, over); 
  (getChildByName(btns[i]) as MovieClip).addEventListener(MouseEvent.ROLL_OUT, out);
  (getChildByName(btns[i]) as MovieClip).addEventListener(MouseEvent.CLICK, clik);
  (getChildByName(btns[i]) as MovieClip).buttonMode = true;
}
 };
function over(e:MouseEvent):void{
   e.currentTarget.gotoAndPlay('s1');
};
 
function out(e:MouseEvent):void{
	e.currentTarget.gotoAndPlay('s2');
};
 
function clik(e:MouseEvent):void {
var current:uint;
current = e.currentTarget.name;
var request:URLRequest = new URLRequest(urls[current]);
navigateToURL(request, "_blank");
}
};
};

Старый 12.05.2009, 14:44
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 19  
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
Код:
function clik(e:MouseEvent):void {
	var currentName:String;
	var i:int;
	currentName = e.target.name;
	for (i=0; i<btns.length; i++) if (btns[i]==currentName) break;
	var request:URLRequest = new URLRequest(urls[i]);
	navigateToURL(request, "_blank");
}

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

Регистрация: Feb 2009
Сообщений: 70
я наверно тут уже всех замучала.
почемуто ошибку выдает:
TypeError: Error #2007: Параметр url не должен быть равен нулю.
at global/flash.net::navigateToURL()
at menuForLinks/clik()
TypeError: Error #2007: Параметр url не должен быть равен нулю.
at global/flash.net::navigateToURL()
at menuForLinks/clik()

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

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

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


 


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


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