مدیریت چند فریمی در اکشن 3

Bahar_HS

Member
با سلام
من برنامه ای دارم که یک لایه ایه و این لایه چند فریم داره،هر فریم مووی کلیپ ها و دکمه های خودش رو داره،می خوام با کلیک رو ی هر دکمه یه فریم بعدی بره و در هر فریم برای افکت دادن به لودینگ تصاویر از کلاسTransitionManager استفاده کردم،واین کد رو نوشتم ولی error داره و برنامه ی بدون توقف همه ی فریم ها رو نشون می ده، در اکشن 2 برای هر فریم جداگانه کد نوشته میشه ، این مساله در اکشن 3 چطوریه؟؟

کد:
[LEFT]stop();
import fl.transitions.*;
import fl.transitions.easing.*;
import flash.events.MouseEvent;
import flash.display.MovieClip;var myTM:TransitionManager = new TransitionManager(img1);
myTM.startTransition({type:Iris, direction:Transition.IN, duration:3, easing:Strong.easeOut, startPoint:1, shape:Iris.SQUARE});
//
next1.addEventListener(MouseEvent.CLICK,Next1);
next2.addEventListener(MouseEvent.CLICK,Next2);
next3.addEventListener(MouseEvent.CLICK,Next3);
//
function Next1(evt:MouseEvent)
{
 gotoAndStop(2);
    makeTM(img2);
}
//
function Next2(evt:MouseEvent)
{
 
 gotoAndStop(3);
    makeTM(img3);
}
function makeTM(img:MovieClip):void
{
 var myTM2:TransitionManager = new TransitionManager(img);
    myTM2.startTransition({type:Iris, direction:Transition.IN, duration:3, easing:Strong.easeOut, startPoint:1, shape:Iris.SQUARE});
}[/LEFT]
 

پیوست ها

  • Untitled.png
    Untitled.png
    15.5 کیلوبایت · بازدیدها: 4

triton

کاربر فعال
دوست عزیز بهتر بود بجای کدها یا پیغام خطا را می نوشتی یا فایل fla را قرار می دادی. در as3 در حالت کلی چون کدها خط به خط کامپایل می شوند ، هر کجا که برنامه خطایی را ببینه بقیه برنامه را درست کامپایل نمی کنه و شاید خطاهای نامربوطی بده و در نهایت بدون توجه به فرمانها همه فریم ها را اجرا می کنه. در هر صورت به نظر می رسه که در کدتون تابع Next3 را تعریف نکرده باشید. اگر با تعریف این تابع دررست نشد فایل fla را قرار بدهید تا بهتر بتونیم کمک کنیم.
 

Bahar_HS

Member
با سلام،
ممنون از راهنمایی تون، شما درست می گید ، باید کدم روهم می گذاشتم،اینم کدم، امیدوارم بتونید کمکم کنید.
 

پیوست ها

  • goldenClothes.rar
    296.6 کیلوبایت · بازدیدها: 12
آخرین ویرایش:

triton

کاربر فعال
دوست من این که خیلی واضح در پنل compiler error نوشته:
PHP Code:

Scene 1, Layer 'Layer 1', Frame 1, Line 22 1120: Access of undefined property next3.


که یعنی next3 وجود نداره که ازش استفاده کردی یعنی مثل next1 و next2 یه next3 هم قرار بده. برای خطای زمان اجرا هم اگه کد
PHP Code:

trace( img1,img2,img3,next1,next2,next3);


را اضافه کنی می بینی که در فریم اول فقط img1 و next1 هستند و بقیه در اینجا نیستند تا به آنها دستوری بدی پس خطا می گیره.
 

Bahar_HS

Member
سلام،
بله اینو می دونم،سوالم اینه که در اکشن3 هم مثل اکشن 2 می تونم برای هر فریم جداگانه کد بنویسم؟
در کل برای ساختن انیمیشن با فریم های جداگانه به همراه کد نویسی چکار باید کرد؟
 

akherat

مدیر انجمن
پدر کلاس movieClip کلاس sprite است
فرق بین کلاس movieClipو کلاس sprite در نوع dynamic بودنش است
یعنی شما میتونی به کلاس موی کلیپ پروپرتی ادد کنی ولی در sprite این طور نیست

timeline فلش از کلاس خود sprite فلش extends شده
یعنی هر فریم یه sprite هست

بله میشه برای هر فریم به صورت جدا کد زد
 

Bahar_HS

Member
پدر کلاس movieClip کلاس sprite است
فرق بین کلاس movieClipو کلاس sprite در نوع dynamic بودنش است
یعنی شما میتونی به کلاس موی کلیپ پروپرتی ادد کنی ولی در sprite این طور نیست

timeline فلش از کلاس خود sprite فلش extends شده
یعنی هر فریم یه sprite هست

بله میشه برای هر فریم به صورت جدا کد زد

راستش از توضیحاتتون چیزی سر در نیووردم!
:-?ولی یه چیزهایی متوجه شدم!توابع و متغیرها به صورت سراسری هستند،یعنی اگه در فریم اول یه تابع تعریف کنم در فریم های دیگه هم قابل استفاده است،
ولی MovieClip هایی که در یک فریم وارد شدند فقط در همون فریم شناخته شده هستند،من می خواستم چیزهایی در همین زمینه بدونم،کدنویسی در فریم های جداگانه و اینکه چه چیزهایی سراسری هستند و چه چیزهایی غیر سراسری(توضیحاتم البته خیلی غیر حرفه ای بود!)
ممنون
 

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

بالا