PDA

View Full Version : سوال: حرکت کلاسیک اشیا با کلیک بر روی دکمه



amirhossein.h
سه شنبه 27 تیر 1391, 08:32 صبح
سلام خدمت تمامی دوستان گرامی

من یه Movie Clip به اسم lampe دارم و می خوام مثلا با کلیک بر روی دکمه ی b1 به جلو بره
نمی خوام بر روی فریم های lampe تغییری ایجاد کنم

از کد
_root.lampe = "375";استفاده کردم ولی جواب نگرفتم
ممنون میشم اگه کسی جوابمو می دونه بهم بگه (اگه می تونید باسم یه نمونه بزارید)

amin1softco
چهارشنبه 28 تیر 1391, 15:32 عصر
عزیزم برو یک کتاب بگیر بخون اینجوری خودت رو اذیت نکن باید روی کلید یک همچین کدی بنویسی :

on (release){
_root.lampe._x +=5;
}

amirhossein.h
پنج شنبه 29 تیر 1391, 17:56 عصر
سلام
دستت درد نکه که ما رو لایق جواب دادن دونستی ولی از قدیم گفتن سوال کردن عیب نیست ندانستن عیبه
این جواب سوال من نبود با این کار فقط Movie Clip مختصات xش به اضافه ی 5 می شه ولی من می خواستم از یه مختصاتی مثل 5 به 20 بره (با حرکت کلاسیک)
به هر حال ازت ممنونم

amin1softco
پنج شنبه 29 تیر 1391, 20:07 عصر
نه ببین منم مثل خودتم من بیشتر دوست داشتم اصولی یاد بگیری و گرنه خودت هر جور صلاح می دونی ... خلاصه بد برداشت نکن
ولی برای کاری که مد نظر شما در as3 می تونی از همچین کدی استفاده کنید :
یک کلید b1 و یک moveClip با نام lampe

import fl.transitions.Tween;
import fl.transitions.easing.*;

b1.addEventListener(MouseEvent.MOUSE_UP,buttonPres sed);

function buttonPressed(event:MouseEvent){
var myTween:Tween = new Tween(lampe, "x", Elastic.easeOut, 235, 105,3, true);
}

در as2 باید تا جایی که می دونم خودتون کدش رو بنویسید !! اینجا (http://www.taterboy.com/blog/2009/02/animation-and-tweens-class-for-as2/)رو ببنید ولی به طور ساده :

می تونید با شرط و چند خط کد این کار رو انجام بدید من برای lampe همچین کدی نوشتم :

onClipEvent(enterFrame){
if(_root.flag){
if (Math.floor(_root.dest - this._x)==0){_root.flag=false;}
this._x += (_root.dest - this._x) / 10;
}
}


برای کلیدم همچین کدی :

on(release){
_root.flag=true;
_root.dest=200;
}


فایل ضمیمه پیاده شده همین است.