Если запускаю флешку по ctrl+Enter не работают кнопки (не вызываются события мыши). Если загрузить на сервер, то все работает. В чем может быть проблема? Я совершенно не могу отлаживать флешку.
Ну проблема может быть с самой прогой или екшеном. Давай код разберемся. А вобще тебе же главно чтоб на сервере работало тогда в чем проблема???
код разберемся. А вобще тебе же главно чтоб на сервере работало тогда в чем проблема???
отладить не могу. Когда оно на сервере, то не вижу trace же. Да и сворачивать флеш, копировать постоянно на сервер напрягает.
вот тут исходники и файлы все http://**********/2375322
вот код
package
{
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.text.*;
import flash.system.*;
public class Main extends MovieClip
{
private var picture:Loader = new Loader();
private var BannerLoadingAnimation:Loader = new Loader();
private var ClipLoadingAnimation:Loader = new Loader();
private var ClipLoader:Loader = new Loader();
private var XMLLoader:URLLoader = new URLLoader();
private var ArrayOfClipURL:Array = new Array();
private var ArrayOfClipLink:Array = new Array();
private var ArrayOfClipAppID:Array = new Array();
private var ArrayOfButtonURL:Array = new Array();
private var SkinElements:Array = new Array();
private var ArrayOfContainers:Array = new Array();
private var ArrayOfButtons:Array = new Array();
private var index:int, left:int, right:int, button_index;
private var ready:Boolean;
private var xml:XML;
private const NumOfContainers:int = 3;
private var NumOfClips:int = 0;
private const NumOfButtons:int = 2;
private var txt:TextField = new TextField();
var context:LoaderContext = new LoaderContext();
var ServerURL:String;
private var user_id:int;
private var app_id:int;
private var is_app_user:int;
private var auth_key:String;
public function Main():void
{
if (Security.sandboxType!='localTrusted') context.securityDomain = SecurityDomain.currentDomain;
context.applicationDomain = ApplicationDomain.currentDomain;
this.addEventListener( Event.ADDED_TO_STAGE, onAddedToStage );
ServerURL = 'http://localhost/banner/api.php';
}
function onAddedToStage(e: Event): void
{
var wrapper: Object = Object(parent.parent);
if(wrapper.parameters)
{
trace(wrapper.parameters['viewer_id']);
user_id = wrapper.parameters['viewer_id'];
app_id = wrapper.parameters['api_id'];
is_app_user = wrapper.parameters['is_app_user'];
auth_key = wrapper.parameters['secret'];
txt.text = user_id.toString() + ' ' + app_id.toString() + ' ' + is_app_user.toString() + ' ' + auth_key.toString();
}
else if(stage.loaderInfo.parameters['viewer_id'] && stage.loaderInfo.parameters['api_id'] && stage.loaderInfo.parameters['is_app_user'] && stage.loaderInfo.parameters['secret'])
{
trace(stage.loaderInfo.parameters);
user_id = stage.loaderInfo.parameters['viewer_id'];
app_id = stage.loaderInfo.parameters['api_id'];
is_app_user = stage.loaderInfo.parameters['is_app_user'];
auth_key = stage.loaderInfo.parameters['secret'];
txt.text = user_id.toString() + ' ' + app_id.toString() + ' ' + is_app_user.toString() + ' ' + auth_key.toString();
}
LoadXML(ServerURL);
}
private function LoadXML(ServerURL:String):void
{
var XMLLoader:URLLoader = new URLLoader();
var XMLRequest:URLRequest = new URLRequest(ServerURL);
XMLRequest.method = URLRequestMethod.POST;
var XMLVars:URLVariables = new URLVariables();
XMLVars['mode'] = 'get_xml';
XMLVars['user_id'] = user_id;
XMLVars['app_id'] = app_id;
XMLVars['is_app_user'] = is_app_user;
XMLVars['auth_key'] = auth_key;
XMLRequest.data = XMLVars;
XMLLoader.load(XMLRequest);
XMLLoader.addEventListener(Event.COMPLETE, onXMLLoaded);
}
private function onXMLLoaded(e:Event):void
{
xml = new XML(e.target.data);
xml.ignoreWhitespace = true;
SkinElements.push(xml.skin.background.@url);
SkinElements.push(xml.skin.foreground.@url);
SkinElements.push(xml.skin.loadings.banner.@url);
ArrayOfButtonURL.push(xml.skin.buttons.left.@url);
ArrayOfButtonURL.push(xml.skin.buttons.right.@url);
NumOfClips = xml.clips.@count;
for(var i:int = 0;i<NumOfClips;i++)
{
ArrayOfClipURL.push(xml.clips.clip[i].@url);
ArrayOfClipLink.push(xml.clips.clip[i].@app_url);
ArrayOfClipAppID.push(xml.clips.clip[i].@app_id);
}
BannerLoadingAnimation.load(new URLRequest(SkinElements[2]), context);
BannerLoadingAnimation.contentLoaderInfo.addEventListener(Event.COMPLETE, onBannerAnimationLoaded);
}
private function onBannerAnimationLoaded(e:Event):void
{
BannerLoadingAnimation.x = 0;
BannerLoadingAnimation.y = 0;
addChild(BannerLoadingAnimation);
if(NumOfClips > 0)
picture.load(new URLRequest(SkinElements[0]), context);
else
picture.load(new URLRequest(SkinElements[0]), context);
picture.contentLoaderInfo.addEventListener(Event.COMPLETE, onPictureLoaded);
}
private function ShowPicture()
{
removeChild(BannerLoadingAnimation);
picture.x = 0;
picture.y = 0;
addChild(picture);
}
private function onPictureLoaded(e:Event):void
{
if(NumOfClips > 0)
LoadClips();
}
private function LoadClips():void
{
index = 0;
for(var i:int = 0;i<NumOfClips;i++)
{
ArrayOfContainers.push(new MovieClip());
var ClipLoader = new Loader();
ClipLoader.tabEnabled = false;
ClipLoader.tabIndex = i;
ArrayOfContainers[i].tabIndex = i;
ClipLoader.mouseChildren = false;
ClipLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onClipLoaded);
ArrayOfContainers[i].addEventListener(MouseEvent.CLICK, onClipClick);
ClipLoader.load(new URLRequest(ArrayOfClipURL[i]), context);
}
LoadButtons();
}
private function onClipLoaded(e:Event):void
{
index++;
ArrayOfContainers[e.target.loader.tabIndex].y = 11;
ArrayOfContainers[e.target.loader.tabIndex].addChild(e.target.content);
ArrayOfContainers[e.target.loader.tabIndex].addEventListener(MouseEvent.CLICK, onClipClick);
/*if(index == NumOfClips)
{
LoadButtons();
}*/
}
private function LoadButtons():void
{
button_index = 0;
var ClipLoader = new Loader();
ClipLoader.load(new URLRequest(ArrayOfButtonURL[button_index]), context);
ClipLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onButtonLoaded);
}
private function onButtonLoaded(e:Event):void
{
var container_mc = new MovieClip();
container_mc.addChild(e.target.content);
container_mc.buttonMode = true;
ArrayOfButtons.push(container_mc);
button_index++;
if(button_index < NumOfButtons)
{
var ClipLoader = new Loader();
ClipLoader.load(new URLRequest(ArrayOfButtonURL[button_index]), context);
ClipLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onButtonLoaded);
}
else
{
ShowPicture();
ShowContainers();
ShowButtons();
}
}
private function ShowContainers():void
{
var x:int;
var i:int;
switch(NumOfClips)
{
case 1:
ArrayOfContainers[0].x = 349 + 130;
addChild(ArrayOfContainers[0]);
break;
case 2:
x = 392;
for(i = 0;i<NumOfClips;i++)
{
ArrayOfContainers[i].x = x + 170 * i;
addChild(ArrayOfContainers[i]);
}
break;
default:
x = 349;
for(i = 0;i<NumOfContainers;i++)
{
ArrayOfContainers[i].x = x + 130 * i;
addChild(ArrayOfContainers[i]);
}
}
}
private function ShowButtons():void
{
var x:int = 279;
for(var i:int = 0;i<NumOfButtons;i++)
{
ArrayOfButtons[i].x = x + 460 * i;
ArrayOfButtons[i].y = 43;
addChild(ArrayOfButtons[i]);
}
if(NumOfClips >= 3)
SetButtonsActions();
addChild(txt);
}
private function SetButtonsActions():void
{
left = 0;
right = left + NumOfContainers - 1;
ready = true;
ArrayOfButtons[0].addEventListener(MouseEvent.CLICK, onLeftButtonClick);
ArrayOfButtons[1].addEventListener(MouseEvent.CLICK, onRightButtonClick);
}
private function onLeftButtonClick(e:MouseEvent):void
{
removeChild(ArrayOfContainers[left]);
left++;
right++;
if(left>=NumOfClips)
left = 0;
if(right>=NumOfClips)
right = 0;
for(var i:int = 0;i<NumOfContainers-1;i++)
{
index=left+i;
if(index>=NumOfClips)
index = 0;
ArrayOfContainers[index].x -= 130;
}
ArrayOfContainers[right].x = 609;
addChild(ArrayOfContainers[right]);
}
private function onRightButtonClick(e:MouseEvent):void
{
removeChild(ArrayOfContainers[right]);
left--;
right--;
if(left<0)
left = NumOfClips-1;
if(right<0)
right = NumOfClips-1;
for(var i:int = 0;i<NumOfContainers-1;i++)
{
index=right-i;
if(index<0)
index = NumOfClips-1;
ArrayOfContainers[index].x += 130;
}
ArrayOfContainers[left].x = 349;
addChild(ArrayOfContainers[left]);
}
private function onClipClick(e:MouseEvent):void
{
var XMLLoader:URLLoader = new URLLoader();
var XMLRequest:URLRequest = new URLRequest(ServerURL);
XMLRequest.method = URLRequestMethod.POST;
var XMLVars:URLVariables = new URLVariables();
XMLVars['mode'] = 'register_click';
XMLVars['user_id'] = user_id;
txt.text = e.relatedObject.toString();
XMLVars['app_id'] = ArrayOfClipAppID[e.currentTarget.tabIndex];
XMLRequest.data = XMLVars;
XMLLoader.load(XMLRequest);
navigateToURL(new URLRequest(ArrayOfClipLink[e.currentTarget.tabIndex]), '_blank');
}
}
}
Личку проверь!!! Там помощь!!!
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.