Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Размещение кода в классе (http://www.flasher.ru/forum/showthread.php?t=214557)

odeon16 20.09.2017 14:19

Размещение кода в классе
 
Здравствуйте.
Помогите простому новичку.

Поместил код в класс (MyScript.as).
Код AS3:

package {
    import flash.display.Sprite;
    import flash.events.*;
    import flash.media.Video;
    import flash.net.NetConnection;
    import flash.net.NetStream;
    import flash.media.SoundTransform;
 
    public class Main extends Sprite {
        private var videoURL:String = "vid.mp4";
        private var connection:NetConnection;
        private var stream:NetStream;
        private var volume:Number;
 
        public function Main() {
            volume = 1;
            connection = new NetConnection();
            connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
            connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
            connection.connect(null);
            stage.addEventListener(MouseEvent.CLICK, onClick);
        }
 
        private function onClick(e:MouseEvent):void{
            volume+=0.2;
            if(volume>1){
                volume = 0;
            }
            setVolume(volume);
        }
 
        private function netStatusHandler(event:NetStatusEvent):void {
            switch (event.info.code) {
                case "NetConnection.Connect.Success":
                    connectStream();
                    break;
                case "NetStream.Play.StreamNotFound":
                    trace("Unable to locate video: " + videoURL);
                    break;
            }
        }
 
        private function connectStream():void {
            stream = new NetStream(connection);
            stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
            stream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
            var video:Video = new Video();
            video.attachNetStream(stream);
            stream.play(videoURL);
            addChild(video);
 
        }
 
        private function securityErrorHandler(event:SecurityErrorEvent):void {
            trace("securityErrorHandler: " + event);
        }
 
        private function asyncErrorHandler(event:AsyncErrorEvent):void {
            // ignore AsyncErrorEvent events.
        }
        private function setVolume(volume:Number):void {
            trace("setVolume: " + volume.toFixed(2));
            var transform:SoundTransform = stream.soundTransform;
            transform.volume = volume;
            stream.soundTransform = transform;
 
 
        }
    }
 }

Пытаюсь запустить его через файл 1.fla
Код AS3:

import "MyScript.as";

Что-то не работает.

Подскажите где может быть ошибка ?

Tails 20.09.2017 14:25

Директива import не "запускает" код, она лишь сообщает программе, что вы собираетесь использовать некий сторонний класс, указанный по этому адресу. Чтобы "запустить" код, вам необходимо создать экземпляр класса или использовать статические методы. Изучите основы.

ZackMercury 20.09.2017 16:09

Т.к. класс у вас Main, вероятно, вы по сценарию должны были указать его как класс документа в настройках документа.

odeon16 20.09.2017 16:22

ZackMercury, то есть его не надо было отдельным файлом *.as делать ?
Подскажите - как указать его как класс документа в настройках документа ?

ZackMercury 20.09.2017 17:13

https://www.google.com.ua/search?q=%...w=1371&bih=711


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

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