درخواست کمک/باگ های که نمیدونم تقصیر منه یا فلش

graphicplayer

New Member
با سلام به همگی
اول بگم که من به اشتباه یه بار همین مطلب رو AS2 و فلش نوشته بودم که عذرخواهی و درخواست حذفش رو از مدیر انجمن دارم. :rose:

من تازه با AS3 دارم کار میکنم و دارم یه وب رو باهاش درست میکنم
اینم تستش:

http://graphicplayer.0009.ws

برای دیدن لینک ها ماوس رو به اطراف صفحه(بالا.پایین.چپ.راست) حرکت بدین(فعلن لینک "works" و"about" خالیه.
درون لینک "news & Event" برای دیدن تصاویری که برای تست قرار داده شده به سمت چپ و راست ماوس را حرکت بدید...

اما مشکلاتی توش دارم که به صورت رندوم دیده میشن:

1-لود شدن محتویات لینک "news & Event بعض وقت ها قفل میکنه . وسط کار یا اول یا در انهتا(فعلن 8 تا عکس براش قرار دادم )
2-مکان لود شدنشون هم یهو میپره یه جای دیگه
3-با کلیک راست کردن کرز اصلی ماوس میاد دیگه هم نمیره

البته همه اینها باسماجت در رفرش کردن یا برگشتن از "news & Event به صفحه اصلی برطرف میشه
تو دیباگینگ هم ایرادی پیدا نکرد
ممنون میشم راهنماییم کنید.

راستی ممنون میشم اگه ایرادات دیگه هم تو کار میبینید بهم بگین.
احتمالا قراره یه انیمیشن ابتدایی برای نشون دادن نحوه کار کردن با وب اول کار قرار بگیره تا کاربر بفهمه که باید ماوس رو به بالا یا پایین یا چپ یا راست ببره و ....

اینم کل کدهایی که نوشتم که تمامشون تو فایل اصلی نوشته شده نه تو فایل هایی که لود میشه(به جز کد های لینک ها درون صفحه"links")

PHP:
//------------------------- frame 1 ---------------------
stop();
stage.scaleMode = StageScaleMode.NO_SCALE;
//my mouse cursor
import flash.events.MouseEvent;
Mouse.hide();
cursor_mc.startDrag(true);
cursor_mc.gotoAndPlay("loading_frame");
//pre loading
this.addEventListener(Event.ENTER_FRAME, loading,false,0,true);
function loading(e:Event):void
{
    var total:Number = this.stage.loaderInfo.bytesTotal;
    var loaded:Number = this.stage.loaderInfo.bytesLoaded;
    bar_mc_left.scaleX = loaded/total;
    bar_mc_right.scaleX = loaded/total;
    loader_txt.text = Math.floor((loaded/total)*100)+ "%";
    if (total == loaded)
    {
        play();
        cursor_mc.gotoAndStop("normal_frame");
        this.removeEventListener(Event.ENTER_FRAME, loading);
    }

}
//my context menu
import flash.ui.ContextMenu;
import flash.ui.ContextMenuItem;
import flash.events.ContextMenuEvent;

var my_context:ContextMenu= new ContextMenu();
my_context.hideBuiltInItems();
var my_designer = new ContextMenuItem("De:M.Sayyar");
var my_number = new ContextMenuItem("09171090951");
var my_email = new ContextMenuItem("Email");
my_designer.enabled = true;
my_number.enabled = true;
my_email.enabled = true;
my_email.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,emailadd,false,0,true);
function emailadd(evt:ContextMenuEvent):void
{
    navigateToURL(new URLRequest("mailto:[email protected]"));
}
my_context.customItems.push(my_designer,my_number);
contextMenu = my_context;
//------------------------- frame 1 ---------------------

//------------------------- frame 62 ---------------------
stop();
// **********necessery functions***********
import flash.events.MouseEvent;
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;
import flash.display.Loader;
import flash.net.URLRequest;
import flash.net.URLLoader;
import flash.events.ProgressEvent;
import com.greensock.*;
import com.greensock.easing.*;
import flash.display.MovieClip;
import flash.events.Event;
import flash.filters.*;
import flash.text.TextField;
import flash.text.TextFormat;
import fl.transitions.*;
import fl.transitions.easing.*; 
//********** global variables*************
var my_content_flag:String=("nothing");
var my_x_blur:Number=0;
var my_y_blur:Number=0;
var my_x:Number=0;
var my_y:Number=0;
var my_loader_x:Number=0;
var my_loader_y:Number=0;
var my_button_list :Array=new Array();
var my_adress:String=("");
var my_loader:Loader=new Loader();
var my_sub_adress:String=("");
var my_sub_loader:Loader=new Loader();
var my_loader_container:MovieClip=new MovieClip();
var my_news_number_loader:URLLoader=new URLLoader();
var my_works_number_loader:URLLoader=new URLLoader();
var my_news_number:Number=0;
var my_works_number:Number=0;
//***********filters**********************
var my_shadow:DropShadowFilter = new DropShadowFilter();
my_shadow.distance = 5;
my_shadow.angle=45;
my_shadow.alpha=0.7;
my_shadow.color = 0x000000;
my_shadow.blurX = 5;
my_shadow.blurY = 5;
my_shadow.quality = 5;
//************* my functions**********
// to know how many news are available
my_news_number_loader.dataFormat=URLLoaderDataFormat.VARIABLES;
my_news_number_loader.addEventListener(Event.COMPLETE,newsnumber,false,0,true);
my_news_number_loader.load(new URLRequest("data/news/news.txt"));
function newsnumber(evt:Event):void{
        my_news_number=my_news_number_loader.data.number;
        trace("news number is = "+ my_news_number);
}
// to know how many works are available
my_works_number_loader.dataFormat=URLLoaderDataFormat.VARIABLES;
my_works_number_loader.addEventListener(Event.COMPLETE,worksnumber,false,0,true);
my_works_number_loader.load(new URLRequest("data/works/works.txt"));
function worksnumber(evt:Event):void{
        my_works_number=my_works_number_loader.data.number;
        trace("works number is = "+ my_works_number);
}
// disable main button
function disable_button_list():void{
    for(var i=0;i<5;i++){
    my_button_list[i].mouseEnabled=false;
    trace(i+"buttons disabled");
    }
    about_button.removeEventListener(MouseEvent.MOUSE_OUT,abouttonormal);
    links_button.removeEventListener(MouseEvent.MOUSE_OUT,linkstonormal);
    news_button.removeEventListener(MouseEvent.MOUSE_OUT,newstonormal);
    works_button.removeEventListener(MouseEvent.MOUSE_OUT,workstonormal);
    dirin_logo.removeEventListener(MouseEvent.MOUSE_OUT,dirintonormal);
    
}
//enable main button
function enable_button_list():void{
    for(var i=0;i<5;i++){
    my_button_list[i].mouseEnabled=true;
    trace(i+"buttons enabled");
    }
    about_button.addEventListener(MouseEvent.MOUSE_OUT,abouttonormal,false,0,true);
    links_button.addEventListener(MouseEvent.MOUSE_OUT,linkstonormal,false,0,true);
    news_button.addEventListener(MouseEvent.MOUSE_OUT,newstonormal,false,0,true);
    works_button.addEventListener(MouseEvent.MOUSE_OUT,workstonormal,false,0,true);
    dirin_logo.addEventListener(MouseEvent.MOUSE_OUT,dirintonormal,false,0,true);
}
//right cursor
function gorightcursor(evt:MouseEvent):void
{
    cursor_mc.gotoAndPlay("right_frame");
}
function righttonormalcursor(evt:MouseEvent):void
{
    cursor_mc.gotoAndPlay("right_to_normal_frame");
}
//left cursor
function goleftcursor(evt:MouseEvent):void
{
    cursor_mc.gotoAndPlay("left_frame");
}
function lefttonormalcursor(evt:MouseEvent):void
{
    cursor_mc.gotoAndPlay("left_to_normal_frame");
}
// loading cursor
function goloadingcursor():void
{
    cursor_mc.gotoAndPlay("loading_frame");
}
function loadingtonormalcursor():void
{
    cursor_mc.gotoAndStop("normal_frame");
}
//about button
my_button_list.push(about_button);
about_button.addEventListener(MouseEvent.MOUSE_OVER,goabout,false,0,true);
about_button.addEventListener(MouseEvent.CLICK,aboutclick,false,0,true);
about_button.addEventListener(MouseEvent.MOUSE_OUT,abouttonormal,false,0,true);
function goabout(evt:MouseEvent):void
{
    cursor_mc.gotoAndPlay("about_frame");
}
function abouttonormal(evt:MouseEvent):void
{
    cursor_mc.gotoAndPlay("about_to_normal_frame");
}
function aboutclick(evt:MouseEvent):void{
    my_content_flag=("about");
    my_x_blur=100;
    my_y_blur=10;
    my_adress=("data/about.swf");
    my_x=124;
    my_y=84;
    my_loader_x=1200;
    my_loader_y=84;
    pageloading();
}
//links button
my_button_list.push(links_button);
links_button.addEventListener(MouseEvent.MOUSE_OVER,golinks,false,0,true);
links_button.addEventListener(MouseEvent.MOUSE_OUT,linkstonormal,false,0,true);
links_button.addEventListener(MouseEvent.CLICK,linksclick,false,0,true);
function golinks(evt:MouseEvent):void
{
    cursor_mc.gotoAndPlay("links_frame");
}
function linkstonormal(evt:MouseEvent):void
{
    cursor_mc.gotoAndPlay("links_to_normal_frame");
}
function linksclick(evt:MouseEvent){
    my_content_flag=("links");
    my_adress=("data/links.swf");
    my_x_blur=10;
    my_y_blur=100;
    my_x=124;
    my_y=84;
    my_loader_x=124;
    my_loader_y=1200;
    pageloading();
}
//news button;
my_button_list.push(news_button);
news_button.addEventListener(MouseEvent.MOUSE_OVER,gonews,false,0,true);
news_button.addEventListener(MouseEvent.MOUSE_OUT,newstonormal,false,0,true);
news_button.addEventListener(MouseEvent.CLICK,newsclick,false,0,true);
function gonews(evt:MouseEvent):void
{
    cursor_mc.gotoAndPlay("news_frame");
}
function newstonormal(evt:MouseEvent):void
{
    cursor_mc.gotoAndPlay("news_to_normal_frame");
}
function newsclick(evt:MouseEvent):void{
    my_content_flag=("news");
    my_x_blur=10;
    my_y_blur=100;
    my_adress=("data/news.swf");
    my_x=124;
    my_y=84;
    my_loader_x=124;
    my_loader_y=-1000;
    pageloading();
}
//work butoonی
my_button_list.push(works_button);
works_button.addEventListener(MouseEvent.MOUSE_OVER,goworks,false,0,true);
works_button.addEventListener(MouseEvent.MOUSE_OUT,workstonormal,false,0,true);
works_button.addEventListener(MouseEvent.CLICK,worksclick,false,0,true);
function goworks(evt:MouseEvent):void
{
    cursor_mc.gotoAndPlay("works_frame");
}
function workstonormal(evt:MouseEvent):void
{
    cursor_mc.gotoAndPlay("works_to_normal_frame");
}
function worksclick(evt:MouseEvent):void{
    my_content_flag=("works");
    my_x_blur=100;
    my_y_blur=10;
    my_adress=("data/works.swf");
    my_x=124;
    my_y=84;
    my_loader_x=-1200;
    my_loader_y=84;
    pageloading();
}
//logo button
my_button_list.push(dirin_logo);
dirin_logo.buttonMode=false;
dirin_logo.addEventListener(MouseEvent.MOUSE_OVER,godirin,false,0,true);
dirin_logo.addEventListener(MouseEvent.MOUSE_OUT,dirintonormal,false,0,true);
var dirin_tweenmax:TweenMax=new  TweenMax(dirin_logo,0.4,{y:"10",alpha:0.7,colorMatrixFilter:{brightness:0.5},ease:Sine.easeInOut,paused:true});
function godirin(evt:MouseEvent):void
{
    cursor_mc.gotoAndPlay("dirin_frame");
    dirin_tweenmax.restart();
}
function dirintonormal(evt:MouseEvent):void
{
    cursor_mc.gotoAndPlay("dirin_to_normal_frame");
    dirin_tweenmax.reverse();
}
//loading
function pageloading():void{
    var my_url_request:URLRequest=new URLRequest(my_adress);
    my_loader.load(my_url_request);
    goloadingcursor();
    disable_button_list();
    }
    my_loader.contentLoaderInfo.addEventListener(Event.COMPLETE,loadcompletefunc,false,0,true);
    my_loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,loadprogressfunc,false,0,true);
    function loadprogressfunc(evt:ProgressEvent):void{
        trace("download"+evt.bytesLoaded+"out of"+evt.bytesTotal+"bytes");
    }
    
    function loadcompletefunc(evt:Event):void{
        trace("load complete");
        loadingtonormalcursor();
        addChildAt(my_loader,5);
        my_loader_container=my_loader.content as MovieClip;
        my_loader_container.x=my_x;
        my_loader_container.y=my_y;
        loaderintween();
}

function loaderintween():void{
     TweenMax.from(my_loader_container,1,{x:my_loader_x,y:my_loader_y,alpha:0,blurFilter:{blurX:my_x_blur,blurY:my_y_blur},ease:Strong.easeOut,onComplete:incompletefunc});
}

function loadertweenout():void{
     TweenMax.to(my_loader_container,1,{x:my_loader_x,y:my_loader_y,alpha:0,blurFilter:{blurX:my_x_blur,blurY:my_y_blur},ease:Strong.easeIn,onComplete:outcompletefunc});
}
function outcompletefunc():void{
    enable_button_list();
    my_news_number=my_news_number_loader.data.number;
    removeChild(my_loader);
}
function incompletefunc():void{
    my_loader_container.addEventListener(Event.ENTER_FRAME,loadercontrol,false,0,true);
    if(my_content_flag=="news"){
    subloadingtask();
    inloadercontrol();
    }
}
function loadercontrol(evt:Event):void{
    // common bak button control
    my_loader_container.back_to_main_button.addEventListener(MouseEvent.MOUSE_OVER,goback,false,0,true);
    my_loader_container.back_to_main_button.addEventListener(MouseEvent.MOUSE_OUT,backtonormal,false,0,true);
    my_loader_container.back_to_main_button.addEventListener(MouseEvent.MOUSE_DOWN,backtomain,false,0,true);
    function goback(evt:MouseEvent){
        cursor_mc.gotoAndPlay("back_frame");
    }
    function backtonormal(evt:MouseEvent){
        cursor_mc.gotoAndPlay("back_to_normal_frame");
    }
    function backtomain(evt:MouseEvent){
        loadertweenout()
    }
}

function inloadercontrol():void{
    my_loader_container.my_right_button.addEventListener(MouseEvent.MOUSE_OVER,gorightcursor,false,0,true);
    my_loader_container.my_right_button.addEventListener(MouseEvent.MOUSE_OUT,righttonormalcursor,false,0,true);
    my_loader_container.my_right_button.addEventListener(MouseEvent.CLICK,previousubloading,false,0,true);
    my_loader_container.my_left_button.addEventListener(MouseEvent.MOUSE_OVER,goleftcursor,false,0,true);
    my_loader_container.my_left_button.addEventListener(MouseEvent.MOUSE_OUT,lefttonormalcursor,false,0,true);
    my_loader_container.my_left_button.addEventListener(MouseEvent.CLICK,nextsubloading,false,0,true);
    // previousubloading
    function previousubloading(evt:MouseEvent):void{
        if(my_news_number>0){
            trace("previous is avilable")
            goloadingcursor();
            my_news_number--;
            trace(my_news_number);
            my_loader_container.removeChild(my_sub_loader);
            subloadingtask();
        }
    }
    function nextsubloading(evt:MouseEvent):void{
        if(my_news_number<my_news_number_loader.data.number){
            trace("next is avilable")
            goloadingcursor();
            my_news_number++;
            trace(my_news_number);
            my_loader_container.removeChild(my_sub_loader);
            subloadingtask();
        }
    }
}
//subloading task
function subloadingtask():void{
    goloadingcursor();
    my_loader_container.my_left_button.removeEventListener(MouseEvent.MOUSE_OUT,lefttonormalcursor);
    my_loader_container.my_right_button.removeEventListener(MouseEvent.MOUSE_OUT,righttonormalcursor);
    my_loader_container.my_right_button.mouseEnabled=false;
    my_loader_container.my_left_button.mouseEnabled=false;

    my_sub_adress="data/news/news"+int(my_news_number)+".jpg";
    trace("sub_adress is   " +my_sub_adress);
    var my_sub_url_request:URLRequest=new URLRequest(my_sub_adress);
    my_sub_loader.load(my_sub_url_request);
    my_sub_loader.contentLoaderInfo.addEventListener(Event.COMPLETE,subloadcomplete,false,0,true);
    my_sub_loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,subloadprogress,false,0,true);
    function subloadprogress(evt:ProgressEvent){
        trace("download"+evt.bytesLoaded+"out of"+evt.bytesTotal+"bytes");
    }
    function subloadcomplete(evt:Event):void{
        trace("sub load complete");
        loadingtonormalcursor();
        my_loader_container.my_left_button.addEventListener(MouseEvent.MOUSE_OUT,lefttonormalcursor,false,0,true);
        my_loader_container.my_right_button.addEventListener(MouseEvent.MOUSE_OUT,righttonormalcursor,false,0,true);
        my_loader_container.my_right_button.mouseEnabled=true;
        my_loader_container.my_left_button.mouseEnabled=true;

        my_loader_container.addChildAt(my_sub_loader,3);
        my_sub_loader.x=(my_loader_container.width/2)-(my_sub_loader.width/2);
        my_sub_loader.y=(my_loader_container.height/2)-(my_sub_loader.height/2)+13;
    }
}


//------------------------- frame 62 ---------------------
چه اتفاقی تو برنامه نویسی میافته که بعضی وقت ها درست عمل میکنه بعضی وقت ها نه!؟ فکر میکنم بعضی شروط یا بعضی از فراخوانی توابع که به اشتباه(مکان یا زمان اشتباه) نوشته شده باشند یا نوشته نشده باشند باعث همچین چیزی بشه. اما چیزی تو کار خودم نتونستم پیدا کنم...:sad:

اگه لازم شد سورس کار رو هم میذارم. میدونم جمله ی تکراری هست اما : دوستان بشتابید که من معجولم!
_________
پاورقی : معجولم = مصدر جعلی خود ساخته بر وزن مفعولم از فعل عجل( همون عجله ی خودمون)
 

graphicplayer

New Member
هادی خان ، آونگ خان و ... انگار سرشون خیلی شلوغه! لطفا راهنماییم کنید که مغزم دیگه نمیکشه.
 
greensock چیه ؟

سلام
آقا مطمعنید تازه دارید با اکشن 3 کار میکنید ! ! چون به نظرم کدهایی که نوشتید اصلا به یک آدم آماتور نمیخوره

سوالی داشتم ازتون یک توابعی هست به نام greensock.. که اون بالا ایمپورت میکنیم آیا اینها توابع خود فلش هستند یا این کلاس یا این کتابخانه دانلود باید بشه ؟ ؟ ؟ کلاس هایی که روی شتاب و تووین گذاری به کار میره مثل اینکه !


مرصی

همه لطفا اگه میدونید جواب بدید
 

triton

کاربر فعال
با سلام
آقا یه نکته:در 99.99999% موارد مشکل در کد های خودمونه.من پس از یک سال کار کردن با as3 فقط دو مشکل داشتم که کامپایلر فلش درست نمی فهمید که اونم با یه پرانتز و یه تغییر مکان متغیر ها در به داخل حلقه حل شد ولی در بقیه موارد حق با کامپیلر فلشه.در بعضی موارد اشکالات خیلی ریز هستند و به آسونی هم نمیشه اونا را پیدا کرد و با حساب کتاب های ما جور در نمی یاد ... که با استفاده از trace میشه اونا را در بیشتر موارد پیدا کرد و چون source برنامه را نگذاشتی باید خودت این کار بکنی.
 

graphicplayer

New Member
سلام
آقا مطمعنید تازه دارید با اکشن 3 کار میکنید ! ! چون به نظرم کدهایی که نوشتید اصلا به یک آدم آماتور نمیخوره

سوالی داشتم ازتون یک توابعی هست به نام greensock.. که اون بالا ایمپورت میکنیم آیا اینها توابع خود فلش هستند یا این کلاس یا این کتابخانه دانلود باید بشه ؟ ؟ ؟ کلاس هایی که روی شتاب و تووین گذاری به کار میره مثل اینکه !


مرصی

همه لطفا اگه میدونید جواب بدید
من سه هفته است که با اکشن 3 کار میکنم. البته قبلش با اکشن 2 و جند تا زبون دیگه برنامه نویسی کردم. اینجورها هم که شما میگین نیست اگه حرفه ای بودم که اینجور تو گل گیر نمی کردم.
در مورد greecsock هم آره باید دانلود بشه که دو نوع اصلی داره :
tweenlite
tweenMax
که دومی جدید تر سریع تر با کنترل بیشتر و کدنویسیش قشنگ تره. که ا خود سایت میتونید دانلودش کنید و آموزشش هم هست و البته باید کنار فایل FLA باشه که بعد از کامپایل کردن دیگه لازم نیست کنار فیل swf باشه.
تو انجمن هم یکی دوتا تاپیک دربارش هست.
 

graphicplayer

New Member
با سلام
آقا یه نکته:در 99.99999% موارد مشکل در کد های خودمونه.من پس از یک سال کار کردن با as3 فقط دو مشکل داشتم که کامپایلر فلش درست نمی فهمید که اونم با یه پرانتز و یه تغییر مکان متغیر ها در به داخل حلقه حل شد ولی در بقیه موارد حق با کامپیلر فلشه.در بعضی موارد اشکالات خیلی ریز هستند و به آسونی هم نمیشه اونا را پیدا کرد و با حساب کتاب های ما جور در نمی یاد ... که با استفاده از trace میشه اونا را در بیشتر موارد پیدا کرد و چون source برنامه را نگذاشتی باید خودت این کار بکنی.
ممنون ولی نو تو trace و نه تو debug هیچ گونه خطایی نمیگیره سختی کار هم همینجاس که بدون خطا باید خطا یابی کنم؟!؟!؟!
 

++Hadi++

Active Member
اگه خدا بخواد و وقت کنم بهت جواب می دم ... یه کم صبر کن ...
بای...
 

triton

کاربر فعال
من در این جور مواقع کد ها را با // یا /* */ خارج می کنم (البته به صورتی که بر نامه error نده و مثلا تعریف متغیری که بعدا استفاده می کنم را حذف نمی کنم و اگه هم مشکلی به این صورت پیش اومد کامپایلر می گه) و در نهایت جایی که خطا در اون خطا اتفاق می افته پیدا میشه ... اخه تمام کد که مشکل نداره که، قسمتی از اون مشکل داره که با این روش پیدا میشه .
 

triton

کاربر فعال
راستی اگه مشکل حل نشد سورس برنامه را بهم بده ببینم میتونم کاری بکنم یا نه
 

جدیدترین ارسال ها

بالا