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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 09.04.2017, 18:30
Molya вне форума Посмотреть профиль Отправить личное сообщение для Molya Найти все сообщения от Molya
  № 1  
Ответить с цитированием
Molya

Регистрация: Apr 2017
Сообщений: 4
Post Работа с кнопками

Здравствуйте. Новичок и нуждаюсь в совете. Сделала несколько кнопку внутри movie_clip (?), но не работает.
Подскажите как сделать, чтобы при нажатии на каждую кнопку перейти к определенную кадру и не показывать остальные кадры. Спасибо заранее за ответ^^

Код AS3:
package {
import flash.display.MovieClip;
import fl.controls.Button; 
import flash.events.MouseEvent;
import flash.media.Sound
import flash.display.DisplayObjectContainer;
 
 public class ButtonExample extends MovieClip
    {
        private var zoom2:Button;
        private var music:Button;        
        private var safari:Button;
		private var gallery:Button;
 
 public function ButtonExample() {
            createTraceField();
            setupButtons();
        }
 
  private function setupButtons():void {
            zoom2 = new Button();
            music = new Button();
            safari = new Button();
			gallery = new Button();
 
			zoom2.move(779,168);
            music.move(424,504);
            safari.move(324,507);
			gallery.move(227, 503);
 
			zoom2.width = 50;
			zoom2.height = 50;
			music.width = 33; 
			music.height = 33;
			safari.width = 32;
			safari.height = 32;
			gallery.width = 32;
			gallery.height = 32;
 
 			addChild(zoom2);
            addChild(music);
            addChild(safari);
			addChild(gallery);
  }
 
	zoom2.addEventListener(MouseEvent.CLICK, nazad);
 
	function nazad(Event:MouseEvent)
	{
		gotoAndStop(2);
	zoom2.visible = false ;
	music.visible = false;
	safari.visible = false;
	gallery.visible = false;
	}
 
 
	music.addEventListener(MouseEvent.CLICK, playmusic);
 
	function playmusic(Event:MouseEvent):void
	{
	var song:Sound = new muzika(); 
	song.play();
	}
 
	gallery.addEventListener(MouseEvent.CLICK, photo);
 
	function photo(Event:MouseEvent)
	{
		gotoAndStop(20);
		zoom2.visible = false ;
		music.visible = false;
		safari.visible = false;
		gallery.visible = false;
	}
 
	safari.addEventListener(MouseEvent.CLICK, youtube);
 
	function youtube(Event:MouseEvent)
	{
		gotoAndStop(40);
		zoom2.visible = false ;
		music.visible = false;
		safari.visible = false;
		gallery.visible = false;
	}
  }}

Старый 09.04.2017, 18:51
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 2  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Не работает, потому, что у вас код в теле класса.
Код AS3:
class Apple
{
     var calories:int = 10;
 
     function Apple() 
     {
          //код нужно писать тут
     }
 
     function eat()
     {
          //или тут
     }
     //тут только объявлять члены класса 
}

Это нужно перенести в метод setupButtons
Код AS3:
zoom2.addEventListener(MouseEvent.CLICK, nazad);
music.addEventListener(MouseEvent.CLICK, playmusic);
gallery.addEventListener(MouseEvent.CLICK, photo);
safari.addEventListener(MouseEvent.CLICK, youtube);
__________________
There is no thing in this world that is not simple.

Старый 09.04.2017, 19:19
Molya вне форума Посмотреть профиль Отправить личное сообщение для Molya Найти все сообщения от Molya
  № 3  
Ответить с цитированием
Molya

Регистрация: Apr 2017
Сообщений: 4
при запуске выдает такие ошибки:
- Пакеты не могут быть выложенными;
- Атрибут "private" можно использовать для определений свойств класса.

Код AS3:
 private function setupButtons():void {
На первую кадру для остановки всех сцен я пользовалась эти коды, но для второго кадра не работает

Код AS3:
stop();
	function stopAllF(mc:*):void{
  			mc.stop();
		if(mc is MovieClip){
 	for(var i:int=0;i<mc.numChildren;i++){
  		if(mc.getChildAt(i) is MovieClip){
  		stopAllF(MovieClip(mc.getChildAt(i)));
 	 }
		}  	
		}	
			}

Старый 09.04.2017, 20:07
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 4  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Код AS3:
import flash.media.Sound
->
Код AS3:
import flash.media.Sound;
Код AS3:
package {
import flash.display.MovieClip;
import fl.controls.Button; 
import flash.events.MouseEvent;
import flash.media.Sound;
import flash.display.DisplayObjectContainer;
 
public class ButtonExample extends MovieClip
{
	private var zoom2:Button;
	private var music:Button;        
	private var safari:Button;
	private var gallery:Button;
 
	public function ButtonExample() 
	{
		createTraceField();
		setupButtons();
	}
 
	private function setupButtons():void 
	{
		zoom2 = new Button();
		music = new Button();
		safari = new Button();
		gallery = new Button();
 
		zoom2.move(779,168);
		music.move(424,504);
		safari.move(324,507);
		gallery.move(227, 503);
 
		zoom2.width = 50;
		zoom2.height = 50;
		music.width = 33; 
		music.height = 33;
		safari.width = 32;
		safari.height = 32;
		gallery.width = 32;
		gallery.height = 32;
 
		addChild(zoom2);
		addChild(music);
		addChild(safari);
		addChild(gallery);
		zoom2.addEventListener(MouseEvent.CLICK, nazad);
		music.addEventListener(MouseEvent.CLICK, playmusic);
		gallery.addEventListener(MouseEvent.CLICK, photo);
		safari.addEventListener(MouseEvent.CLICK, youtube);
	}
 
	function nazad(Event:MouseEvent)
	{
		gotoAndStop(2);
		zoom2.visible = false ;
		music.visible = false;
		safari.visible = false;
		gallery.visible = false;
	}
 
	function playmusic(Event:MouseEvent):void
	{
		var song:Sound = new muzika(); 
		song.play();
	}
 
	function photo(Event:MouseEvent)
	{
		gotoAndStop(20);
		zoom2.visible = false ;
		music.visible = false;
		safari.visible = false;
		gallery.visible = false;
	}
 
	function youtube(Event:MouseEvent)
	{
		gotoAndStop(40);
		zoom2.visible = false ;
		music.visible = false;
		safari.visible = false;
		gallery.visible = false;
	}
}
}
__________________
There is no thing in this world that is not simple.

Старый 09.04.2017, 20:50
Molya вне форума Посмотреть профиль Отправить личное сообщение для Molya Найти все сообщения от Molya
  № 5  
Ответить с цитированием
Molya

Регистрация: Apr 2017
Сообщений: 4
скопировала ваши коды, но кнопки не появился(((
Безымянный-1.swf   (1'023.4 Кб)
Вложения
Тип файла: swf Безымянный-1.swf (1,023.4 Кб, 73 просмотров)


Последний раз редактировалось Molya; 09.04.2017 в 21:06.
Старый 09.04.2017, 21:20
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 6  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Экземпляр ButtonExample находится на сцене?
__________________
There is no thing in this world that is not simple.

Старый 09.04.2017, 23:18
Molya вне форума Посмотреть профиль Отправить личное сообщение для Molya Найти все сообщения от Molya
  № 7  
Ответить с цитированием
Molya

Регистрация: Apr 2017
Сообщений: 4
Нет, а это нужно?

Старый 09.04.2017, 23:36
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 8  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Да, добавляя детей экземпляру ButtonExample, вы добавляете их только туда.
Чтобы они оказались на сцене, нужно туда засунуть экземпляр ButtonExample.
Если хотите, почитайте про то, как работает DisplayList.
MovieClip - это контейнер. В него можно добавлять другие графические объекты, как изображения(Bitmap), векторные шейпы(Shape), или другие MovieClip.
Существует корень DisplayList, и им является объект stage. В нём находится ваша главная линия времени.
На вашей главной линии времени находится какой-то другой мувиклип, и т.д.
Если мувиклип отсутствует в списке отображения, то его дети также отсутствуют в списке отображения.
__________________
There is no thing in this world that is not simple.

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

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

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


 


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


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