دو تا سوال as3-اسکرول اتوماتیک - eventlistener

++Hadi++

Active Member
سلام بر شما برو بچز :wink:
دو تا سوال داشتم:sad:
یکیش اینه :
فرض کنین اشیای ما از stage زد بیرون مثلا دکمه های باز شونده طراحی کردیم که با باز شدن دکمه ها دیگه همشون تو stage جا نگرفتند یا مثلا تو یه مووی کلیپ ماسک شده اشیا داخل لایه ماسک شده -Masked - بیشتر شدن جوری که همشون با هم تو صحنه دیده نمی شن. می شه با اکشن اسکریپت 3 کاری کرد که auto scroller اضافه شه و وقتی این حالت پیش اومد خود به خود یه اسکرولر بغل صفحه ظاهر شه و کار اسکرول رو انجام بده ؟
البته در حالت عادی اون دیده نشه و وقتی لازم باشه ظاهر شه. مثلا دکمه های باز شونده ویندوزو در نظر بگیرین که فقط وقتی زیادی باز شدن و تو کادرشون جا نگرفتن یه اسکرول بار بغل صفحه شون ظاهر می شه.
سوال دوم :
وقتی با اکشن اسکریپت 3 به مووی کلیپ a یه رویدادی رو اختصاص می دیم مثل:
;( a.addEventListener(Event.ENTER_FRAME,myFunction
; ( a.addEventListener(Event.ENTER_FRAME,myFunction
حالا می خواییم از داخل تابع myFunction به شی a دسترسی پیدا کنیم بدون اینکه اسمشو کامل بگیم یعنی در واقع به تمامی اشیا یی که به این تابع با رویدادی وصل می شن دسترسی پیدا کنیم. دستورش چیه مثلا:
; Event.Target.x+=3
;event.x+=3
; event.currentTarget.x+=3
اون کلمات کلیدی که باعث دسترسی به شی میشه چیه ؟ من اینا رو تست کردم ولی نشد.
مرسی که پیغاممو می خونین.
بای...:neutral:
 

sizanjavad

کاربر فعال
در مورد سوال اول از كامپوننت scroll pane استفاده كن. كار كردن باش راحته فكر نكنم نيازي به توضيح داشته باشه.
در مورد سوال دوم هم يه مثال مي زنم . مثال زير همون قضيه معروف drag & drop هست. ببين چجوري به مووي كليپ دسترسي پيداكرده؟ evt.target .
 
PHP:
myMovieClip.addEventListener(MouseEvent.MOUSE_DOWN, onStartDrag);
myMovieClip.addEventListener(MouseEvent.MOUSE_UP, onStopDrag);
function onStartDrag(evt:MouseEvent):void {
evt.target.startDrag();
}
function onStopDrag(evt:MouseEvent):void {
evt.target.stopDrag();
}
 

BioDread

Banned
چون کد هارو با حروف بزرگ نوشتی
event.target.x++
برو تو help فلش ببین راجع به scroll pane چی نوشته؟!
 

++Hadi++

Active Member
سلام sizanjavad
scroll pan یه کامپوننتیه که باید دانلود کنم؟
مطمئنی که می شه با اون به صورت اتومات این کارو کرد یعنی فقط وقتی لازم باشه ظاهر می شه ؟
تو دستورات اکشن اسکریپت دستوری واسه این کار هست که اتومات کار اسکرول اتوماتیک رو انجام بده ؟
 

BioDread

Banned
تو component خود فلش هست
با ctrl+F7
میشه بگی if برای چیه پس؟
 
آخرین ویرایش:

++Hadi++

Active Member
تو کامپوننتام یه اسکرولی هست که به تکست باکس اضافه می شه و اسکرول اونو انجام می ده و من یکی که اسکرول خاصی برا این کار اونم به صورت حرفه ای ندیدم.
من یه اسکرولی از نوع تکست باکس نمی خوام .
می خوام صحنه یا موی کلیپ ماسک شدمو اسکرول کنم اونم وقتی لازم باشه فقط ظاهر شه. نه همیشه.
از پنجره component تو فلش چیزی به اسم scrollpan پیدا نکردم. فقط یه UI Scroll هست که به درد تکست باکس می خوره.
حالا شاید ایراد از برناممه چون کامپوننت فارسی کننده فلش رو نصب کردم چند تا کامپوننت دیگه نصب کردم و پنجره کامپوننتمو update کردم ولی اونارو نمی بینم!
واسه نصب اونا هم از برنامه مخصوص adobe manager استفاده کردم ولی هیچ کاری نمی تونم بکنم.!!!!!؟؟؟؟؟
 

sizanjavad

کاربر فعال
از فلش mx كه من يادم مياد كامپوننت scroll pane جزو كامپوننتاي خود فلش بوده و الانم هست. تو قسمت user interface. حالا من كامپوننت رو برات اتچ مي كنم .در مسير زير كپيش كن.
C:\Program Files\Adobe\Adobe Flash CS3\en\Configuration\Components\User Interface​
 

پیوست ها

  • ScrollPane.zip
    58.6 کیلوبایت · بازدیدها: 20

++Hadi++

Active Member
سلام دوستان
ممنون از راهنماییتون خیلی لطف کردین.
از sizanjavad عزیز تشکر مخصوص می کنم.
جناب biodread مرسی از راهنماییت.
بای...
 
بالا