Copy link to clipboard
Copied
Hi, I am using the following code for my flash banner which is an ad, it's working perfectly fine but the problem is as my ad stays long on the webpages its dropping down the frame rate, where the ad is running very slow. can you help me how can i fix this issue, thank you very much
here is my code :
XML.ignoreComments = false;
XML.ignoreProcessingInstructions = false;
import flash.events.TimerEvent;
import fl.transitions.Tween;
import fl.transitions.easing.*;
import flash.events.MouseEvent;
import flash.ui.Mouse;
import fl.motion.MotionEvent;
import flash.net.URLRequest;
import flash.display.Shape;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.events.Event;
import flash.net.URLRequestMethod;
//import fl.controls.*;
import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.Event;
import fl.transitions.TweenEvent;
import fl.transitions.*;
import fl.transitions.easing.*;
rssnews_btn01.addEventListener(MouseEvent.ROLL_OVER, mouseOverHandler);
function mouseOverHandler(evt:MouseEvent):void
{
ADTECH.expand();
play();
}
stop();
// RSS
var url:String = "http://feeds.feedburner.com/moviefone/DnVo";
var req:URLRequest = new URLRequest(url);
var loader:URLLoader = new URLLoader();
loader.load(req);
loader.addEventListener(Event.COMPLETE, completeHandler);
var myxml:XML;
var flag = 1;
var ran_items:Array = new Array(0,1,2,3,4,5,6);
function completeHandler(evt:Event):void
{
preloader.visible = false;
myxml = new XML(evt.target.data);
uiload();
}
function uiload()
{
var l = myxml.channel.item.length() - 1;
if (flag)
{
flag = 0;
}
else
{
ran_unique7(l);
}//trace("Article : " + ran_items[0]);
//trace("Article : " +ran_items[1]);
//trace("Article : " +ran_items[2]);
//trace("Length of XML : "+ myxml.channel.item.length());
slider1.rss1_txt.text = myxml.channel.item[ran_items[0]].title;
truncate(slider1.rss1_txt);
slider2.rss2_txt.text = myxml.channel.item[ran_items[0]].title;
truncate(slider2.rss2_txt);
slider2.rss3_txt.text = myxml.channel.item[ran_items[1]].title;
truncate(slider2.rss3_txt);
slider2.rss4_txt.text = myxml.channel.item[ran_items[2]].title;
truncate(slider2.rss4_txt);
slider2.rss5_txt.text = myxml.channel.item[ran_items[3]].title;
truncate(slider2.rss5_txt);
slider2.rss6_txt.text = myxml.channel.item[ran_items[4]].title;
truncate(slider2.rss6_txt);
slider2.rss7_txt.text = myxml.channel.item[ran_items[5]].title;
truncate(slider2.rss7_txt);
loadImg(getImgUrl(myxml.channel.item[ ran_items[0] ].description), slider1.picHolder1);
loadImg(getImgUrl(myxml.channel.item[ ran_items[0] ].description), slider2.picHolder2);
loadImg(getImgUrl(myxml.channel.item[ ran_items[1] ].description), slider2.picHolder3);
loadImg(getImgUrl(myxml.channel.item[ ran_items[2] ].description), slider2.picHolder4);
loadImg(getImgUrl(myxml.channel.item[ ran_items[3] ].description), slider2.picHolder5);
loadImg(getImgUrl(myxml.channel.item[ ran_items[4] ].description), slider2.picHolder6);
loadImg(getImgUrl(myxml.channel.item[ ran_items[5] ].description), slider2.picHolder7);
//TransitionManager.start(slider1, {type:Fly, direction:Transition.IN, duration:8, easing:Elastic.easeOut, startPoint:0});
rssnews_btn01.addEventListener(MouseEvent.CLICK, rssNews1);
rssnews_btn03.addEventListener(MouseEvent.CLICK, rssNews3);
rssnews_btn04.addEventListener(MouseEvent.CLICK, rssNews4);
rssnews_btn05.addEventListener(MouseEvent.CLICK, rssNews5);
rssnews_btn06.addEventListener(MouseEvent.CLICK, rssNews6);
rssnews_btn07.addEventListener(MouseEvent.CLICK, rssNews7);
}
function ran_unique7(l)
{
var r1,r2,r3,r4,r5,r6,r7;
r1 = Math.round(Math.random() * l);
r2 = Math.round(Math.random() * l);
r7 = Math.round(Math.random() * l);
r4 = Math.round(Math.random() * l);
r5 = Math.round(Math.random() * l);
r6 = Math.round(Math.random() * l);
while (r2 == r1 == r4 == r5 == r6 == r7 == r3)
{
r2 = Math.round(Math.random() * l);
}
r3 = Math.round(Math.random() * l);
while (r3 == r1 || r3 == r2 || r3 == r4 || r3 == r5 || r3 == r6 || r3 == r7)
{
r3 = Math.round(Math.random() * l);
}
r4 = Math.round(Math.random() * l);
while (r4 == r1 || r4 == r2 || r4 == r3 || r4 == r5 || r4 == r6 || r4 == r7)
{
r4 = Math.round(Math.random() * l);
}
r5 = Math.round(Math.random() * l);
while (r5 == r1 || r5 == r2 || r5 == r3 || r5 == r4 || r5 == r6 || r5 == r7)
{
r5 = Math.round(Math.random() * l);
}
r6 = Math.round(Math.random() * l);
while (r6 == r1 || r6 == r2 || r6 == r3 || r6 == r4 || r6 == r5 || r6 == r7)
{
r6 = Math.round(Math.random() * l);
}
r7 = Math.round(Math.random() * l);
while (r7 == r1 || r7 == r2 || r7 == r3 || r7 == r4 || r7 == r5 || r7 == r6)
{
r7 = Math.round(Math.random() * l);
}
ran_items[0] = r1;
ran_items[1] = r2;
ran_items[2] = r3;
ran_items[3] = r4;
ran_items[4] = r5;
ran_items[5] = r6;
ran_items[6] = r7;
}
function loadImg(imgUrl:String,picH:Object )
{
if (imgUrl.length > 0)
{
var imageLoader:Loader = new Loader();
var image:URLRequest = new URLRequest ("http://o.aolcdn.com/dims-global/dims/GLOB/5/300/250/100/" + imgUrl);
imageLoader.load(image);
picH.addChild(imageLoader);
}
}
function getImgUrl(str:String):String
{
var pattern:RegExp = /src=\"([^\"]+\.(jpg|gif|tiff|jpeg|png))/ig;
var result:Object = pattern.exec(str);
if (result)
{
//trace(result);
return result[1];
}
return "";
}
// Refresh
var rss_fresher = new Timer(20 * 1000);
rss_fresher.addEventListener(TimerEvent.TIMER, reloadRss);
rss_fresher.start();
function reloadRss(event:TimerEvent):void
{
TransitionManager.start(slider1, {type:Fade, direction:Transition.IN, duration:4, easing:Strong.easeOut, startPoint:0, xSections:500});
uiload();
TransitionManager.start(slider1, {type:Fade, direction:Transition.IN, duration:4, easing:Strong.easeOut,startPoint:0, xSections:500});
}
//RSS CLICK Events
function rssNews1(event:MouseEvent):void
{
ADTECH.dynamicClick('Rss News 1 Click',String(myxml.channel.item[ ran_items[0]].link));
}
function rssNews3(event:MouseEvent):void
{
ADTECH.dynamicClick('Rss News 3 Click',String(myxml.channel.item[ ran_items[1]].link));
}
function rssNews4(event:MouseEvent):void
{
ADTECH.dynamicClick('Rss News 4 Click',String(myxml.channel.item[ ran_items[2]].link));
}
function rssNews5(event:MouseEvent):void
{
ADTECH.dynamicClick('Rss News 5 Click',String(myxml.channel.item[ ran_items[3]].link));
}
function rssNews6(event:MouseEvent):void
{
ADTECH.dynamicClick('Rss News 6 Click',String(myxml.channel.item[ ran_items[4]].link));
}
function rssNews7(event:MouseEvent):void
{
ADTECH.dynamicClick('Rss News 7 Click',String(myxml.channel.item[ ran_items[5]].link));
}
rssnews_btn01.addEventListener(MouseEvent.CLICK, artical1);
function artical1(e:MouseEvent):void
{
ADTECH.click("artical" + ran_items[0] );
}
rssnews_btn03.addEventListener(MouseEvent.CLICK, artical3);
function artical3(e:MouseEvent):void
{
ADTECH.click("artical" + ran_items[1] );
}
rssnews_btn04.addEventListener(MouseEvent.CLICK, artical4);
function artical4(e:MouseEvent):void
{
ADTECH.click("artical" + ran_items[2] );
}
rssnews_btn05.addEventListener(MouseEvent.CLICK, artical5);
function artical5(e:MouseEvent):void
{
ADTECH.click("artical" + ran_items[3] );
}
rssnews_btn06.addEventListener(MouseEvent.CLICK, artical6);
function artical6(e:MouseEvent):void
{
ADTECH.click("artical" + ran_items[4] );
}
rssnews_btn07.addEventListener(MouseEvent.CLICK, artical7);
function artical7(e:MouseEvent):void
{
ADTECH.click("artical" + ran_items[5] );
}
// Text truncatination script;
function truncate( textField : TextField, addElipsis : Boolean = true, ellipsis : String = "\u2026" ):void
{
var tempTextField:TextField;
if (! textOverflowing(textField))
{
return;
}
tempTextField = copyTextField(textField);
while ( textOverflowing( tempTextField, ellipsis ) )
{
tempTextField.text = tempTextField.text.substr(0,tempTextField.text.length - 1);
}
tempTextField.appendText( ellipsis );
textField.text = tempTextField.text;
}
function textOverflowing( textField : TextField, suffix : String = null ):Boolean
{
var margin:Number = 4;//Flash adds this to all textfields;
var tempTextField:TextField = copyTextField(textField);
if (suffix)
{
tempTextField.appendText( suffix );
}
if ( tempTextField.textWidth > tempTextField.width - margin
|| tempTextField.textHeight > tempTextField.height - margin )
{
return true;
}
return false;
}
function copyTextField( original : TextField ):TextField
{
var copy : TextField = new TextField();
copy.width = original.width;
copy.height = original.height;
copy.multiline = original.multiline;
copy.wordWrap = original.wordWrap;
copy.embedFonts = original.embedFonts;
copy.antiAliasType = original.antiAliasType;
copy.autoSize = original.autoSize;
copy.defaultTextFormat = original.getTextFormat();
copy.text = original.text;
return copy;
}
Copy link to clipboard
Copied
Can you be more specific about what exactly is running slowly? The transition between each ad?
When you have a ton of code, please paste it to a code formatting service so it's easier to read, here:
While I wait for your elaboration, is the ran_unique7() function merely to randomize an array of values? You can do that far easier and much more flexible like so:
var ran_items:Array = new Array(0,1,2,3,4,5,6);
function randomize(a:*, b:*):int { return ( Math.random() > .5 ) ? 1 : -1; }
// randomize
ran_items.sort(randomize);
Copy link to clipboard
Copied
Hi Thank you very much for your quick help
there is a motion tween in the ad banner for 150 frames (intial size of the banner is 300x250 but Banner expands as user roll over the mouse to 800x250 and comes back to 300x250 when user clicks on close button ) every thing is working fine for first 30min.
As the ad banner stays for long time on the web page lets say for example after 30 min, the motion tween gets very slow (each frame takes a second or more than that) so to play 150 frames it is taking let say for example more than 2 min.
I am designer and Problem is I am very new to action script to understand and write the proper logics. I goto online portals and get some idea and write the code and this stage very dificult for me to understand where is the leak and all.
I did check with your suggested code but unfortunatly its not refreshing the new feeds, feeds remain the same.
Thank you very much
Naveen
Find more inspiration, events, and resources on the new Adobe Community
Explore Now