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

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

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

Регистрация: May 2013
Сообщений: 30
По умолчанию как прописать кнопку play для мувика buket_mc

Всем привет!

У меня ролик: букет, который крутится с помощью движка(movieClip:mySlider) или мышкой по букету(movieClip:buket_mc)

Нужно еще кнопку play(buttonlay_mc) сделать как альтернативу,чтобы при нажатии крутился букет и , вроде ничего сложного, но я не пойму куда мне его прописать - в код, где mySlider или в код, где монтажный кадр,куда не вставишь везде ошибку выдает.

movieClip:sliderTrack - это нарисованная шкала для движка
movieClip:sliderKnob - это нарисованная кнопка,чтобы тянуть за нее по шкале
movieClip:mySlider - sliderTrack+sliderTrack(контейнер) и as для движка
movieClip:buket_mc - фотографии букета, добавленные в кадры

Вот код для движка:
Код AS3:
var knobWidth:Number = sliderKnob.width;
var trackWidth:Number = sliderTrack.width;
var trackX:Number = sliderTrack.x;
var boundWidth = trackWidth - knobWidth;
var boundsRect:Rectangle = new Rectangle(trackX, 0, boundWidth, 0);
 
sliderKnob.addEventListener(MouseEvent.MOUSE_DOWN,startDragging);
mouse_over.addEventListener(MouseEvent.MOUSE_DOWN,startDragging);
this.addEventListener(MouseEvent.MOUSE_MOVE,update);
function startDragging(event:MouseEvent) : void{
		sliderKnob.startDrag(false,boundsRect);
		}
mouse_over.addEventListener(MouseEvent.MOUSE_UP,stopDragging);
sliderKnob.addEventListener(MouseEvent.MOUSE_UP,stopDragging);
play_mc.addEventListener(MouseEvent.MOUSE_MOVE,update);
 
function stopDragging(event:MouseEvent){
		sliderKnob.stopDrag();
	}
function update(e:MouseEvent):void{
	this.sliderKnob.gotoAndStop(mouseX);
}
Основной код для того, чтобы букет крутился с помощью движка, находится на основной сцене


Добавлено через 8 минут
извините,там где смайлик - слово не lay_mc(),а play_mc...что-то не загрузился код как надо, вторая попытка:


Код AS3:
var knobWidth:Number = sliderKnob.width;
var trackWidth:Number = sliderTrack.width;
var trackX:Number = sliderTrack.x;
var boundWidth = trackWidth - knobWidth;
var boundsRect:Rectangle = new Rectangle(trackX, 0, boundWidth, 0);
 
sliderKnob.addEventListener(MouseEvent.MOUSE_DOWN,startDragging);
mouse_over.addEventListener(MouseEvent.MOUSE_DOWN,startDragging);
this.addEventListener(MouseEvent.MOUSE_MOVE,update);
function startDragging(event:MouseEvent) : void{
		sliderKnob.startDrag(false,boundsRect);
		}
mouse_over.addEventListener(MouseEvent.MOUSE_UP,stopDragging);
sliderKnob.addEventListener(MouseEvent.MOUSE_UP,stopDragging);
play_mc.addEventListener(MouseEvent.MOUSE_MOVE,update);
 
function stopDragging(event:MouseEvent){
		sliderKnob.stopDrag();
	}
function update(e:MouseEvent):void{
	this.sliderKnob.gotoAndStop(mouseX);
}
Основной код для того, чтобы букет крутился с помощью движка, находится на основной сцене

Код AS3:
stop();
buket_mc.stop();
var ind:Number = mySlider.sliderTrack.width/buket_mc.totalFrames;
var sliderValue:uint = mySlider.sliderKnob.x;
addEventListener(Event.ENTER_FRAME, onEnterFrame);
function onEnterFrame(event:Event): void{
		sliderValue = mySlider.sliderKnob.x/ind;
		buket_mc.gotoAndStop(sliderValue);
 
}
Добавлено через 1 час 30 минут
Господа, напишите, может я непонятно объяснила, задайте хотя бы наводящий вопрос


Последний раз редактировалось iNils; 30.05.2013 в 00:05.
Старый 29.05.2013, 17:44
NikolyA вне форума Посмотреть профиль Отправить личное сообщение для NikolyA Найти все сообщения от NikolyA
  № 2  
Ответить с цитированием
NikolyA
 
Аватар для NikolyA

Регистрация: Dec 2006
Сообщений: 1,764
ну вот и вешаем на мувик play_mc событие в котором говорим buket_mc.play();
__________________
а за окном атлантический океан!

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

Регистрация: May 2013
Сообщений: 30
не срабатывает, если использую buket_mc.play();

дело в том, что в монтажном кадре всего два кадра:1)preloаder;2)второй основной:1й слой-контент,2й- as , загвостка в том, что все фотки добавлены в мувике buket_mc,а срабатывают только эти два кадра и пишет ошибку TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at button_fla::MainTimeline/onEnterFrame()

Код AS3:
play_mc.addEventListener(MouseEvent.CLICK,playF);
stop_mc.addEventListener(MouseEvent.CLICK,stopF);
function stopF(e:MouseEvent) : void{
	stop();
	}
	function playF(e:MouseEvent) : void{
		play();
}

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

Регистрация: Dec 2006
Сообщений: 1,764
Код AS3:
function playF(e:MouseEvent) : void{
		bucket_mc.play();
}
__________________
а за окном атлантический океан!

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

Регистрация: May 2013
Сообщений: 30
уже писала такЖ все равно выдает ошибку

Добавлено через 6 минут
дело в том,что я не совсем понимаю,где прописывать его, в каком-то определенном мувике

Например, я сделала движок->cоздала movieClip "mySlider" ->в нем создала второй слой для as cкрипта и
прописала в нем код для движка

Как быть с кнопкой play, где мне его код прописывать, в мувике или на основной сцене

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

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
Цитата:
Сообщение от Nailya Посмотреть сообщение
Как быть с кнопкой play, где мне его код прописывать, в мувике или на основной сцене
Надо вообще-то в классах, например в документ классе.
__________________
Гоночка

Старый 29.05.2013, 22:13
Nailya вне форума Посмотреть профиль Отправить личное сообщение для Nailya Найти все сообщения от Nailya
  № 7  
Ответить с цитированием
Nailya

Регистрация: May 2013
Сообщений: 30
я не очень поняла вас, я новичок, что за документ-класс

Старый 29.05.2013, 22:30
timm вне форума Посмотреть профиль Отправить личное сообщение для timm Найти все сообщения от timm
  № 8  
Ответить с цитированием
timm

Регистрация: May 2013
Сообщений: 15
Цитата:
я не очень поняла вас, я новичок, что за документ-класс
Лучше отделять код от графики и писать на классах, как сказали выше. Документ-класс — основной класс приложения (точка входа программы).
Цитата:
Как быть с кнопкой play, где мне его код прописывать, в мувике или на основной сцене
Пишете код там, где кнопка располагается у вас, чтобы не дописывать пути.
Если кнопка и bucket_mc в разных местах, нужно прописывать к ним пути относительно текущего местоположения.

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

Регистрация: May 2013
Сообщений: 30
а как теперь привязать этот документ-класс к своему документу

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

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
Цитата:
я не очень поняла вас, я новичок, что за документ-класс
О документ класс это просто супер-пупер штука.
Цитата:
а как теперь привязать этот документ-класс к своему документу
Посмотрите ютуб
https://www.youtube.com/watch?v=6psTWXAebcE
__________________
Гоночка

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

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

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


 


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


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