نحوه اکشن متفاوت به کلیدهایی که duplicate شدند

بسمه تعالی
با سلام
من می خواهم یک سری کلید داپلیکیت کنم و به اونها برای دستورات کلیک کردن روی آن دستورات متفاوت بدهم چطوری میشه؟
با تشکر
 

padideh

Member
باید مموقع duplicate کردن یه مقداری به هرکدوم نصبت بدی وقتی روش کلیک کردی با توجه بو اوه مقدار یه کاری انجام بدی
یا وقتی کلیک کردی اسم اون رو بگیری اون عدد آخرش رو جدا کنی و ...(مثل بالا ادامه بدی)
 

mshgames

Well-Known Member
سلام
زمانی که کپی میکنی با توجه به نام جدیدی که اون دکمه پیدا میکنه باید به اون اکشن اضافه کنی

این کد مورد نظر

PHP:
var k=0;
var i=0;
sina=new Array("10","130","260","390","500");
Mybtn.onPress=function(){
	i++;
    k++;
   duplicateMovieClip(mc,"mc"+k,k);
   _root["mc"+k]._x=sina[i]   
    _root["mc"+3].onPress=function(){
	trace(" Press ");
	}
};

اینم فایله Fla

من تو این کد گفتم اگه دکمه چهرم فشرده شد تو پنجره تراس بنویسه Press
 

پیوست ها

  • CopyButton.rar
    5.7 کیلوبایت · بازدیدها: 5

padideh

Member
اینجوری فقط میشه فهمید که رو دکمه کلیک کشده ولی این که کودوم دکمه بعلوم نیست باید از _name یا اونی که گفتم استفاده کنی خودم اینجا قبلا گفتم بگرد پیدا میشه
البته اگه این کار محمد عزیز کارکنه که راحت تره ولی حداقلش اینهکه من نمیفهمم چه جوری میفهمه که رو کودوم دکمه کلیک شده و باید چیکار کنه hassan_kahrizyمطمئنن نمیخواد تریس کنه لازم که هر دکمه ای یه مشخصه خاص داشته باشه حالا اگه وقت کردم میذارم اینجا ولی خودتون تو پستهای من بگردین پیدا میکنین
یا علی
 

mshgames

Well-Known Member
سلام
علی جان من خودمم نفهمیدم چیکار کردم (شوخی) زمانی که یه مووی کپی میشه یه Instance Name جدید بهش میچسبه که به این شکله مووی اصلی من اسمش mc و سپس مووی هایه دیگه با نام mc1 و mc2 و..... من تو خط 9 کد بالا گفتم زمانی که رویه mc+3 که همون mc3 کلیک شد تو پنجره trace نوشته بشه salam خوب این درست کار میکنه حالا به جای تراس یه کار دیگه بکنه هدف اینه که رویه دکمه مورد نظر وقتی کلیک شد(دکمه کپی شده) اون کار انجام بشه
 

mshgames

Well-Known Member
دوباره سلام
اینم فایله و کد کامل این کار

PHP:
_root.t.text=2;
var k=0;
var i=0;
sina=new Array("10","130","260","390","500");
Mybtn.onPress=function(){
	i++;
    k++;
   duplicateMovieClip(mc,"mc"+k,k);
   _root["mc"+k]._x=sina[i]   
    _root["mc"+(_root.t.text)].onPress=function(){
	trace(" Press ");
	}
};

ببینید زمانی که تو جعبه متن t هر عددی وارد شد هناگمی که طرف دکمه مورد نظر و یا اون شماره دکمه (حالا مثلا من الان تو کد بالا
در جعبه متن شماره 2 رو وارد کردم پس هنگامی که رویه کلید 2 کلیک میکنید تو تراس یه عبارت نشون داده میشه دیگه از این روش راحتر....)
علی جان اول فایلو دانلود کن بعد ببین اگه کار نکرد بهم بگو که کار نمیکنه (زود قضاوت نکن)
 

پیوست ها

  • CopyButton.rar
    8.7 کیلوبایت · بازدیدها: 6

mshgames

Well-Known Member
اینم کد کامل (تو این فایله رویه هر کدوم از دکمه ها کلیک کنید یه بلایی سره شکل میافته ) فکر کنم دیگه این کاملترین مثال باشه
PHP:
var k=0;
var i=0;
sina=new Array("10","130","260","390","500");
Mybtn.onPress=function(){
	i++;
    k++;
   duplicateMovieClip(mc,"mc"+k,k);
   _root["mc"+k]._x=sina[i]   
    _root["mc"+1].onPress=function(){
	my._alpha-=5;
	}
	_root["mc"+2].onPress=function(){
	my._rotation+=2;
	}
	_root["mc"+3].onPress=function(){
	my._xscale-=2;
	}
	_root["mc"+4].onPress=function(){
	my._width-=4;	
	}
};
 

پیوست ها

  • CopyButton22.rar
    10.8 کیلوبایت · بازدیدها: 5
بسمه تعالی
با سلام
آقا خیلی ممنون از لطفتون خیلی زحمت کشیدید
ولی یک سوال من چون می خواه این کار رو کاملا داینامیک انجام بدم یک سوال داشتم
من از xml تعداد کلیدهای مورد نیازم را باید بخونم و اون رو با نیازهام پر کنم(مثلا تکست کلید رو عوض کنم و..)سپس من برای هر کلید دو تابع صدا می زنم که پارامترهاش از xml می خونم و لود میکن.
در این سورسی که شما زحمت کشیدید و گذاشتید برای رویداد onpress کلیدها از عدد گذاری دستی استفاده کردید و وقتی تست کردم دیدم اگر از خود k استفاده کنیم همه کلیدها فقط تابع آخری رو اجرا می کنه برای حل این چه راهکاری وجود داره
ببخشید زحمتتون دادم
 

padideh

Member
سلام محمد جان اینجوری اگه دکمه هاش زیاد باشن که این بنده خدا بیچاره میشه
یه راه ساده ...
PHP:
var ali:MovieClip = this.createEmptyMovieClip("ali", 1000);
ali.moveTo(0, 0);
ali.lineStyle(1);
ali.beginFill(33333333);
ali.lineTo(0, 10);
ali.lineTo(10, 10);
ali.lineTo(10, 0);
ali._y = 100;
ali._x = 100;
for (i=0; i<20; i++) {
    duplicateMovieClip(ali, "ali"+i, (1001+i));
    _root["ali"+i].majid = i;
    _root["ali"+i]._x = i*15+100;
    _root["ali"+i].onRelease = function() {
        trace(this.majid);
    };
}
اینجوری هر کدوم دکمه ها یه مشخصه دارن که با اون تشخیص داده میشن
الان با این عدد میتونی یکی از مقدار های یه ارایه رو بخونی و هر کاری خواستی باهاش انجام بدی یا.... کلی راه برای استفاده از این دکمه ها هست
موفق باشید.
یا علی
 
آخرین ویرایش:

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

بالا