Я пытаюсь сделать кнопку во Flash, которая приостанавливает все клипы, которые работают в моем файле. Ни один из этих видеороликов не является подростком на моей основной временной шкале, у всех есть своя индивидуальная шкала времени. Каждый клик перемещения запускается кнопкой, которая сообщает клипам начать воспроизведение. Поэтому, если бы кто-нибудь мог помочь мне создать эту кнопку паузы, я был бы очень признателен. Спасибо за ваше время.Как сделать универсальную кнопку паузы во Flash CS5?
ответ
Следующая следует сделать трюк:
// create an array to store all playing movieclips
var playing = [];
// when a movieclip is played add it to the array like this:
// playing.push(myMovieClip);
// call this from your pause button's click handler
function pauseAll()
{
// loop through all the playing movieclips ...
for (var i = 0; i < playing.length; i ++)
{
// ... and stop them
playing[i].stop();
}
// now clear the array
playing = [];
}
Удивительный, спасибо. Немного утомительно вернуться ко всем моим клипам и добавить каждый из них в игровой массив, но он работает. Но очистка массива должна выходить за пределы цикла for, иначе он будет только приостанавливать первый объект массива. Спасибо, хотя, очень полезно. – dlee2499
Хорошее место! Вот почему вы всегда должны проверять детей! Обновлен пример. –
На самом деле, когда я запускаю несколько клипов одновременно (5 или около того), я получаю вывод: «TypeError: Error # 1010: термин неопределен и не имеет свойств». И не все клипы приостанавливаются. Он также говорит о своей функции паузы. Есть идеи? – dlee2499
Существует не встроенный способ, который я знаю, чтобы приостановить все видеоклипы.
Если вы сохранили ссылку на клипы, которые вы хотите приостановить на глобально доступном объекте, вы можете перебирать эти ссылки, вызывающие паузу.
Я все еще относительно новичок в flash, не могли бы вы показать мне пример того, что вы говоря о? Спасибо за быстрый ответ. – dlee2499
Эта функция остановит все вложенные MovieClips объекта. Просто перейдите на сцену или класс отображения верхнего уровня, чтобы остановить/воспроизвести все. Таким образом, вам не нужно отслеживать добавление вещей в массив, и нет накладных расходов.
function recursiveStop(parentClip:DisplayObjectContainer, useStop:Boolean = true, gotoFrame:Object = null):void {
var tmpClip:MovieClip = parentClip as MovieClip;
if (tmpClip) {
if (useStop) {
(gotoFrame != null) ? tmpClip.gotoAndStop(gotoFrame) : tmpClip.stop();
}else {
(gotoFrame != null) ? tmpClip.gotoAndPlay(gotoFrame) : tmpClip.play();
}
}
var i:int = parentClip.numChildren;
while(i--){
if(parentClip.getChildAt(i) is DisplayObjectContainer){
recursiveStop(parentClip.getChildAt(i) as DisplayObjectContainer, useStop, gotoFrame);
}
}
}
Просто обратите внимание, что если у вас есть клипы, которые не отображаются в списке отображения, они не будут затронуты этим методом. – BadFeelingAboutThis
Экспорта ваших все символы, которые вы хотите быть приостановлены/возобновлен рекурсивно с базовым классом, как эта, то вам не придется ходить по всему дереву дисплея:
package com.stackoverflow
{
import flash.display.MovieClip;
import flash.events.Event;
[Event(name="clipAdded", type="flash.events.Event")]
[Event(name="clipRemoved", type="flash.events.Event")]
public class BaseClip extends MovieClip
{
protected var baseClipChildren:Array;
protected var paused:Boolean = true;
public function BaseClip()
{
super();
baseClipChildren = new Array();
addEventListener(Event.ADDED_TO_STAGE, onAdded);
addEventListener("clipAdded", onClipAdded);
addEventListener(Event.REMOVED_FROM_STAGE, onRemoved);
addEventListener("clipRemoved", onClipRemoved);
}
protected function onAdded(event:Event):void
{
var target:BaseClip = event.target as BaseClip;
if(target == this) {
dispatchEvent(new Event("clipAdded", true));
}
}
protected function onClipAdded(event:Event):void
{
var target:BaseClip = event.target as BaseClip;
if(target && target != this) {
event.stopImmediatePropagation();
baseClipChildren.push(target);
}
}
protected function onRemoved(event:Event):void
{
var target:BaseClip = event.target as BaseClip;
if(target == this) {
dispatchEvent(new Event("clipRemoved", true));
}
}
protected function onClipRemoved(event:Event):void
{
var target:BaseClip = event.target as BaseClip;
if(target && target != this) {
event.stopImmediatePropagation();
baseClipChildren.splice(baseClipChildren.indexOf(target),1);
}
}
public function stopAll():void {
stop();
for each(var clip:BaseClip in baseClipChildren) {
clip.stopAll();
}
}
public function playAll():void {
play();
for each(var clip:BaseClip in baseClipChildren) {
clip.playAll();
}
}
}
}
- 1. Использование Squiggly во Flash CS5
- 2. Использовать ArrayCollection во Flash CS5
- 3. Нужно создать кнопку переключения паузы/возобновления во Flash CS3 AS3
- 4. Ограничение/ограничение границ символов во Flash CS5
- 5. Масштабирование фрейм-графики во Flash CS5
- 6. Создайте текстовые поля во Flash CS5
- 7. Кнопка с динамическим текстом во Flash CS5
- 8. Создание и очистка прямоугольников во Flash CS5
- 9. Изменить положение точки регистрации во Flash CS5
- 10. Проблемы с баннером ClickTag во Flash CS5
- 11. Создание функциональности слоя во Flash CS5 (as3)
- 12. Как приостановить 'if collision' в Flash CS5?
- 13. flash remoting CS5
- 14. Разница во Flash CS3 И Flash CS5 Ссылка?
- 15. Flash cs5 анти-декомпилятор?
- 16. Как реализовать универсальную кнопку обновления?
- 17. plist.info в flash cs5
- 18. Adobe flash (cs5) как заменить анимацию
- 19. Как увидеть все элементы текущего символа во Flash CS5
- 20. TextArea форматирование текста не меняется во Flash CS5
- 21. Flash CS5 - ограничение размера сцены?
- 22. Flash - Создание компонентов Документация для Flash CS5
- 23. Как сделать Flash-кнопку PNG видимой области?
- 24. Как создать кнопку выхода во Flash-приложении
- 25. Flash CS5 код место путаница
- 26. Adobe Flash Professional CS5 tutorials
- 27. adobe flash cs5: actionscript 3
- 28. Flash CS5 Draggable Movie Thoughts?
- 29. Как Flash CS5 AS3 Случайный Упругий?
- 30. Панель Flash CS5 полностью исчезла?
Read [* * this **] (http://www.catb.org/~esr/faqs/smart-questions.html#before) first – strah