Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   stop(); на as3 (http://www.flasher.ru/forum/showthread.php?t=149415)

samana 25.01.2011 00:28

Тогда лучше создайте классы для кнопок. И тогда просто перетаскивайте нужную кнопку из библиотеки на сцену, имя ей на сцене задавать конечно уже не нужно. У кнопки есть только одна функция - переместить кадр её родителя вперёд. Например класс для перехода на следующих кадр, родителя кнопки.
Код AS3:

package  
{
        import flash.display.MovieClip;
        import flash.events.MouseEvent;
 
        /**
        * ...
        * @author Samana
        */

        public class NextButton extends MovieClip
        {
 
                public function NextButton()
                {
                        addEventListener(MouseEvent.CLICK,parentNextFrame)
                }
 
                private function parentNextFrame(e:MouseEvent):void
                {
                        if(parent){ MovieClip(parent).nextFrame() }
                }
 
        }
}

А в Main, тогда только в конструкторе прописать
Код AS3:

stop()


tilweb 25.01.2011 00:51

а какую кнопку брать из библиотеки, если прописал вот этот код в main.as ?

там же просто либо овальные кнопки, либо квадратные и т.д..


Цитата:

А в Main, тогда только в конструкторе прописать
это т.е. просто перед

Код AS3:

package  
{

пишу
Код AS3:

stop()

?

samana 25.01.2011 01:03

Нет, нет... Например у вас в библиотеке лежит мувиклип, который изображает кнопу перехода на следующий кадр. Класс для этого мувиклипа прописан как NextButton. Потом вы создаёте *as файл с именем этого же класса, и копируете туда код, который я написал выше.
Вы в общем-то можете обойтись и без Документ класса, тогда просто в первом кадре напишите stop(). Теперь если вы перетащите из библиотеки на сцену тот мувиклип-кнопку (для которого был создан класс), то по клику на нем, сцена перейдёт на следующий кадр.

tilweb 25.01.2011 01:15

ааааааа....) как не просто всё это..)

так, я сделал кнопку в библиотеке, зашёл в расширенные настройки и в Class написал: nb
далее создал файл nb.as и запихал туда тот код

кнопку поместил на первый кадр
в первом кадре прописал stop()

но явно чтото не то сделал гдето.. ибо не работает (

samana 25.01.2011 01:33

Вложений: 1
Уговорили ) Вложение 25849

tilweb 25.01.2011 01:39

спасибо огромное)

Добавлено через 10 минут
аааааааа....) рано обрадовался)

хм..) если отсоединяю main.as от .fla, то всё работает
а если присоединён, то нет :(

из-за чего может такое быть?




вот main.as:

Код AS3:

 
package {
        import flash.events.*;
        import flash.display.*;
        import flash.net.*;
        import flash.text.TextField;
 
        public class Main extends Sprite {
                public function Main():void {
                        btn.addEventListener(MouseEvent.CLICK,btnClick);
                }
 
                function btnClick(e:MouseEvent):void {
                        var params:Object=LoaderInfo(root.loaderInfo).parameters;
                        var loader:URLLoader = new URLLoader();
                        var request:URLRequest=new URLRequest("----тут ссылка, стёр----");
                        request.method=URLRequestMethod.POST;
 
                        result_tf.text='ожидание...';
 
                        var vars:URLVariables = new URLVariables();
                        vars['auth_key']=params['auth_key'];
                        vars['viewer_id']=params['viewer_id'];
 
                        request.data=vars;
                        loader.addEventListener(HTTPStatusEvent.HTTP_STATUS,onError);
                        loader.addEventListener(Event.COMPLETE,onComplete);
                        loader.load(request);
                }
 
                function onComplete(event:Event):void {
                        var loader:URLLoader=event.target as URLLoader;
                        if (loader!=null) {
                                result_tf.text=loader.data;
                        } else {
                                result_tf.text='Ошибка.';
                        }                       
                }
 
                private function onError(event:Event):void {
                        result_tf.text = 'Ошибка.';
                }
 
        }
}


cleptoman 25.01.2011 08:10

для внимательных повторюсь:
ваш документ класс должен быть наследником от MovieClip, а не Sprite.
у спрайта нет таймлайна, соотв. и методов работы с ним(с ней? )).

побуквенно:

заменить "extends Sprite" на "extends MovieClip"

tilweb 25.01.2011 14:05

а....) спасибо)

хм.. а может такое быть что на 1ом слайде работают мои другие кнопки и показ результатов, а на втором нет? из-за чего это может быть? нужно где-то прописать что кнопка и форма показа результата стоят на втором слайде теперь, а не на первом?

Добавлено через 12 часов 11 минут
хм.. :(


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

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