更新: OK、パッケージとクラスをあきらめる準備ができています。答えは来ません。何をすべきかわからない。質問を簡単にして新しい投稿を作成しようとしましたが、反対票を投じられました。as3 別のクラスの関数を呼び出す
私は、パッケージとクラスを使用することにまったく慣れていません。非常に多くの問題が発生した後、最終的にタイムラインから移行しています。知識不足ですがご容赦ください。親swfのメインタイムのコードからロードした子swfファイルで関数を呼び出す方法を知る必要があります。
2 つの swf ファイルがあります。Main.swf と pConent.swf 1. Main.swf には、最初のフレームのタイムラインにコードがあります。2. pConent.swf は PACKAGE CLASS をファイルとしてロードしています。
質問 親の Main.swf から関数を呼び出そうとしています。どうすればいいですか?両方のコードのセクションを次に示します。ありがとう
Main.swf CODE /// は Andrid swf の AIR です
function LoadContent()
{
TheContent.load(new URLRequest( "pContent.swf"));
TheContent.contentLoaderInfo.addEventListener(Event.COMPLETE, LoadContentTWO);
function LoadContentTWO(e:Event)
{
Content = TheContent.content as MovieClip;
pContent = Content as Object;
addChild(TheContent);
var OSS:String = "device";
trace(pContent); //// comes out as: [object pContent]
pContent.GetOnlineStatus(OSS); ///// HOW DO I GET THIS TO CALL FUNCTION
}
}
私が呼び出そうとしている pContent.swf の「クラス」のセクション
public function GetOnlineStatus(OS:String)
{
if(OS=="online")
trace("inside ONLINE" );
}
if(OS=="device")
{
trace("inside DEVICE" );
}
}
私が得ているエラー
TypeError: エラー #1006: GetOnlineStatus は関数ではありません。
更新: 完全なパッケージ (私の最初の) を投稿して、正しく行っているかどうかを確認することにしました。
package
{
import flash.display.MovieClip;
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;
import flash.display.*;
import flash.media.Sound;
import flash.system.*;
import flash.media.SoundChannel;
import flash.display.MovieClip;
import flash.events.MouseEvent;
public class pContent extends MovieClip
{
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
var ScreenY = flash.system.Capabilities.screenResolutionY;
var ScreenX = flash.system.Capabilities.screenResolutionX;
var swf:String;
var daSounds:String;
var images:String;
var videos:String;
var OnlineStatus:Boolean;
//++++++++++++++++++++++++
//++++++++++++++++++++++++
public function pContent()
{
BG.addEventListener(MouseEvent.CLICK, mouseHandlerdown);
}
//++++++++++++++++++++++++
//++++++++++++++++++++++++
//-------- * FUNCTIONS * --------
//-------------------------------
public function mouseHandlerdown(event:MouseEvent):void
{
alpha = .3; // testing
}
public function GetOnlineStatus(OS:String)
{
if(OS=="online")
{
OnlineStatus = true;
Security.allowDomain("*");
trace("inside THE PATH " + ThePath.text);
daSounds = "http://mycontactcorner.com/upload/files/";
swf = "http://mycontactcorner.com/upload/files/";
trace("inside THE DEVICE ONLINE" );
OnlineStatus = false;
swf = "";
daSounds = "content/sounds/";
//LoadMenu();
LoadStage();
LoadBeau();
}
if(OS=="device")
{
trace("inside THE DEVICE ONLINE" );
}
}
//------ * END FUNCTIONS * -----
//------------------------------
}// END FUNCTION pContent
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
}//// END PACKAGE