تداخل دو کلاس با هم _ actionscrip3

borna008

Active Member
سلام
من یه مشکلی با این کد دارم:

PHP:
import flash.events.MouseEvent;
//
import com.greensock.*; 
import com.greensock.easing.*;
//
import fl.transitions.*;
import fl.transitions.easing.*;
//
Object(this).asla.aslb.jonob.addEventListener(MouseEvent.CLICK ,clikjonob);
Object(this).asla.aslb.jonob.addEventListener(MouseEvent.ROLL_OVER ,rolljonob);
//
function rolljonob(event:MouseEvent):void{
TweenLite.to(myStar, 0.5, {x:380, y:302, ease:Cubic.easeInOut});
TweenMax.to(Object(root).asla.aslb.jonob, 1, {colorTransform:{tint:0xff0000, tintAmount:0.5}});
TweenLite.to(Object(root).asla.aslb.jonob, 1, {transformAroundCenter:{scaleX:0.5, scaleY:0.5}, ease:Elastic.easeOut});
}
//
function clikjonob(event:MouseEvent){
TransitionManager.start(Object(this).alk, {type:Squeeze, direction:Transition.IN, duration:3, easing:Elastic.easeOut, dimension:1});
}

زمانی که هر کلاس را به تنهایی وارد میکنم کد بدونه مشکل اجرا میشه!!! اما وقتی هردورا وارد میکنم در قسمتOUTPUT زمانی که "function" کلیک را فراخوانی میکنم این پیغم را میدهد

PHP:
TypeError: Error #1034: Type Coercion failed: cannot convert com.greensock.easing::ElasticOut@36949241 to Function.
    at fl.transitions::Transition()
    at fl.transitions::Squeeze()
    at fl.transitions::TransitionManager/startTransition()
    at fl.transitions::TransitionManager$/start()
    at mapA3_02_fla::MainTimeline/clikjonob()

ممنون میشم راهنماییم کنید.
 
آخرین ویرایش:

borna008

Active Member
بنده خیلی صبرم کمه! حتما محبت شمام زیاده! نمیشه بنده راهنمایی کنید! اصلا نمیدونم مشکلمو چطور مطرح کنم! وگرنه یه سرچی میزدم
 

++Hadi++

Active Member
سلام
تو Publish setting در ابتدا همیشه permit debugging رو تیک بزنید تا مکان خطاهای ران تایم رو نشون بده اینجوری اصلا معلوم نیست خطا از کجای کدتون نشات می گیره...
در ضمن من واقعا نمی دونم علت استفاده از دو کتابخونه ترنزیشن چیه ؟شما که می تونی نیازاتونو با tweenmax حل کنید..ترنزیشن خود ادوب پرفرمنس بدی داره سعی کنید اصلا استفاده نکنید...تمام نیازاتون باید به وسیله توین مکس حل شه...
خوب برای اینکه شما دو کلاس همنام رو وارد کردید.حقم داره بی نوا..
ببینید فرض کنید شما هزارتا کلاس همنام به اسم A رو وارد کدتون کردید.وقتی مثلا بنویسید :
PHP:
var aaa:A=new A();
خوب این کامپایلر بیچاره باید از کجا بدونه منظور شما کدومشونه...
خوب اینجاست که پلاک بسته مهمه...
یعنی مثلا وقتی نوشتین :
PHP:
import com.xyz.A
import com.www.A
import KKK.A
چیزی که بین این سه کلاس همنام تغییر داره چیه ؟ بله ! پلاک بسته یعنی اسم فولدر و پلاکی که جلوی واژه package هر کدوم از این سه کلاس نوشته شده...
مثلا اگه کلاس زیر رو باز کنید :
PHP:
com.xyz.A
مسلما این کلاس تو یه فولدری به اسم xyz هست که البته اونم تو یه فولدر دیگری به اسم com هست.
خوب اگه کلاس رو باز کنید می بینید نوشته :
PHP:
package com.xyz
{
//some code
}
خوب در مثال خودمون باید بنویسیم :
PHP:
var aaa:com.xyz.A =new com.xyz.A();
و در مورد مثال شما :
PHP:
import flash.events.MouseEvent;
//
import com.greensock.*; 
import com.greensock.easing.*;
//
import fl.transitions.*;
import fl.transitions.easing.*;
//
Object(this).asla.aslb.jonob.addEventListener(MouseEvent.CLICK ,clikjonob);
Object(this).asla.aslb.jonob.addEventListener(MouseEvent.ROLL_OVER ,rolljonob);
//
function rolljonob(event:MouseEvent):void{
TweenLite.to(myStar, 0.5, {x:380, y:302, ease:Cubic.easeInOut});
TweenMax.to(Object(root).asla.aslb.jonob, 1, {colorTransform:{tint:0xff0000, tintAmount:0.5}});
TweenLite.to(Object(root).asla.aslb.jonob, 1, {transformAroundCenter:{scaleX:0.5, scaleY:0.5}, ease:Elastic.easeOut});
}
//
function clikjonob(event:MouseEvent){
TransitionManager.start(Object(this).alk, {type:Squeeze, direction:Transition.IN, duration:3, easing:fl.transitions.easing.Elastic.easeOut, dimension:1});
}
چیزی که عوض شده easing تو دستور زیر هست :
PHP:
TransitionManager.start(Object(this).alk, {type:Squeeze,  direction:Transition.IN, duration:3,  easing:fl.transitions.easing.Elastic.easeOut, dimension:1});
در ضمن به امضای من و آموزش اکشن 3 از صفر و فصل چهارم یعنی شی گرایی سری بزنید.همه اینا رو گفتم...بای...
 
آخرین ویرایش:

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

بالا