Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Ошибка 5007: Файл ActionScript должен иметь хотя бы одно внешнее определение (http://www.flasher.ru/forum/showthread.php?t=205667)

crupt 15.12.2013 23:48

Ошибка 5007: Файл ActionScript должен иметь хотя бы одно внешнее определение
 
I:\...\Apitech.as, строка 1 5007: Файл ActionScript должен иметь хотя бы одно внешнее определение.


Код AS3:

class Apitech extends Object {
 
static private var _instance:Object;
 
public function Apitech() {
_instance = this;
}
 
static function get instance():Object {
if (!_instance) {
return new Apitech();
}
return _instance;
}
 
private var inited:Boolean = false;
 
private var conn:LocalConnection;
private var sendConnName:String;
private var recvConnName:String;
 
static private var CONNECTION_PREFIX:String = '_apitech_';
static private var CONNECTION_EXCLUDE:Array = [':', '/', '\\', '.'];
static private var SEND_CONN_POSTFIX:String = '_avm2';
static private var RECV_CONN_POSTFIX:String = '_avm1';
 
private function getConnectionName(game:MovieClip):String {
var url:String = game._url;
for (var i:Number = 0; i < CONNECTION_EXCLUDE.length; i++) {
url = url.split(CONNECTION_EXCLUDE[i]).join('');
}
return CONNECTION_PREFIX + url;
}
 
static function init(game:MovieClip, name:String):Void {
name = name || null;
instance._init(game, name);
}
 
public function _init(game:MovieClip, name:String):Void {
if (!inited) {
 
inited = true;
 
var connName:String = getConnectionName(game);
sendConnName = connName + SEND_CONN_POSTFIX;
recvConnName = connName + RECV_CONN_POSTFIX;
 
conn = new LocalConnection();
 
conn.allowDomain = function ():Boolean { return true; };
conn.allowInsecureDomain = function ():Boolean { return true; };
conn.onStatus = function (infoObject:Object):Void {
switch (infoObject.level) {
case 'status':
break;
case 'error':
case 'warning':
default:
trace('Apitech connection ' + infoObject.level);
}
};
 
conn.connect( recvConnName );
 
conn.showNewGame = conn_showNewGame;
 
conn.send( sendConnName, 'init', name );
 
}
}
 
 
static public function sendScores(score:Number):Void {
instance._sendScores(score);
}
 
public function _sendScores(score:Number):Void {
if (inited) {
conn.send( sendConnName, 'sendScores', score);
}
}
 
static public function showPopup(x:Number, y:Number, newGame:Object):Void {
x = x || NaN;
y = y || NaN;
newGame = newGame || null;
instance._showPopup(x, y, newGame);
}
 
private var newGame:Object;
public function _showPopup(x:Number, y:Number, newGame:Object):Void {
if (inited) {
this.newGame = newGame;
hideNewGame( newGame );
conn.send( sendConnName, 'showPopup', x, y);
}
}
 
private function hideNewGame(newGame:Object):Void {
if ((newGame instanceof MovieClip) || (newGame instanceof Button) || (newGame instanceof TextField)) {
newGame._visible = false;
}
}
 
private function showNewGame(newGame:Object):Void {
if ((newGame instanceof MovieClip) || (newGame instanceof Button) || (newGame instanceof TextField)) {
newGame._visible = true;
} else if (newGame instanceof Function) {
newGame();
}
}
 
public function _showNewGame():Void {
showNewGame(newGame);
newGame = null;
}
 
private function conn_showNewGame():Void {
Apitech.instance._showNewGame();
}
 
static public function mouseHide():Void {
instance._mouseHide();
}
 
public function _mouseHide():Void {
if (inited) {
conn.send( sendConnName, 'mouseHide');
}
}
 
static public function mouseShow():Void {
instance._mouseShow();
}
 
public function _mouseShow():Void {
if (inited) {
conn.send( sendConnName, 'mouseShow');
}
}
 
public var _mouseManager:Boolean = true;
public function _setMouseManager(value:Boolean):Void {
_mouseManager = value;
if (inited) {
if (value) {
conn.send( sendConnName, 'mouseEnable' );
} else {
conn.send( sendConnName, 'mouseDisable' );
}
}
}
 
static function get mouseManager():Boolean {
return instance._mouseManager;
}
 
static function set mouseManager(value:Boolean):Void {
instance._setMouseManager( value );
}
 
static public function log():Void {
instance._log.apply(instance, arguments);
}
 
public function _log():Void {
if (inited) {
conn.send( sendConnName, 'log', [].join.call(arguments, ' ') );
}
}
 
 
}

Не могу понять в чем лажа, я сам в программировании не силен, так что попрошу говорить максимально понятным языком.

Спасибо.




Пока сообщение проходило модерацию ответ был найден, но появилась другая ошибка.



Код AS3:

package {
 
        import apitech.Apitech;
        import flash.display.Sprite;
 
        // …
 
        // Основной класс игры Document Class
 
        public class MySupaGame extends Sprite {
 
                public function MySupaGame() {
 
                        Apitech.init(this, "Моя Супер Игруля");
 
                        // …
 
                }
 
                // …
 
        }
 
}


1083: Синтаксическая ошибка: package не ожидается

alexandrratush 16.12.2013 00:33

Ошибка в классе Apitech, нужно его поместить в папку apitech, и прописать в нем пакет apitech, если отталкиваться от кода вашего Document Class.

crupt 16.12.2013 19:11

решено


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

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