تغيير ابعاد بعد از تاخير

behsa

Member
سلام دوستان عزيز
من مشكلي دارم كه اگر راهنمايي كنيد ممنون ميشم.

من ميخوام توسط دستور SetProprty ابعاد يك شي را تغيير دهم اما در دو زمان. يعني يكبار در جهت محور X سه برابر شود و وقفه اي ايجاد شود ( من وقفه را با حلقه For انجام دادم ) و بعد از وقفه در جهت محور Y اندازه شي 8 برابر شود.
سوال اول: براي ايجاد وقفه از چه روش استانداردي يا غير استانداردي استفاده كنم. ( ترجيحا اصولي )
سوال دوم: چرا هر دو دستور SetProperty با وجود دستور تاخير همزمان بعد از تاخير انجام ميشوند. در حالي كه بايستي بصورت جدا از هم و با فاصله زماني تعيين شده اين عمل اتفاق بيفتند.

من از كد زير استفاده كرده ام . اكشن زير را به يك دكمه الصاق كرده ام.

کد:
on (release) {
	
		setProperty("_root.box", _xscale, "300");  
		for (var i = 1; i<80000; i++) ;  //delay 
		setProperty("_root.box", _yscale, "800");
}
 

iman_iz

Member
behsa1110 گفت:
سلام دوستان عزيز
من مشكلي دارم كه اگر راهنمايي كنيد ممنون ميشم.

من ميخوام توسط دستور SetProprty ابعاد يك شي را تغيير دهم اما در دو زمان. يعني يكبار در جهت محور X سه برابر شود و وقفه اي ايجاد شود ( من وقفه را با حلقه For انجام دادم ) و بعد از وقفه در جهت محور Y اندازه شي 8 برابر شود.
سوال اول: براي ايجاد وقفه از چه روش استانداردي يا غير استانداردي استفاده كنم. ( ترجيحا اصولي )
سوال دوم: چرا هر دو دستور SetProperty با وجود دستور تاخير همزمان بعد از تاخير انجام ميشوند. در حالي كه بايستي بصورت جدا از هم و با فاصله زماني تعيين شده اين عمل اتفاق بيفتند.

من از كد زير استفاده كرده ام . اكشن زير را به يك دكمه الصاق كرده ام.

کد:
خيلي ساده ميتواني مقدار زيادي فرم خالي را بين انها رها كني. اينكار گرچه ساده اما پر طرفدار است. در ضمن دستوري براي ايجاد وقفه داريم . كه الان يادم نيست .برايت مينويسم.
on (release) {
	
		setProperty("_root.box", _xscale, "300");  
		for (var i = 1; i<80000; i++) ;  //delay 
		setProperty("_root.box", _yscale, "800");
}
 

baubak

New Member
سلام دوست عزيز
علت اينكه اين عمل بلافاصله انجام مي شود بدون اينكه شما تاخير را حس كنيد اينكه اين حلقه خيلي سريع به پايان مي رسه .اين حلقه هر چقدر هم طولاني باشه با اين پردازنده هاي پر سرعت سريع تمام مي شود.
خوب حالا .
براي اينكه تاخير ايجاد كني يك خوصيت مانند طول را در فريم اول تغيير بده و در چند فريم بعدتر خصوصيت دوم را اعمال كن .هر چقدر فاصله بين دو فريم طولاني باشد
تاخير بيشتر است.
حالا در انتهاي فيلم يا هر جاييكه فريم خالي داري اين دستور را بنويس مثلا در فريم 50
[align=left:1dc97f5be5]setProperty("_root.box", _xscale, "300"); [/align:1dc97f5be5]
بعد در چند فريم بعدتر بنويس
[align=left:1dc97f5be5]setProperty("_root.box", _yscale, "800"); [/align:1dc97f5be5]
بعد به دكمه ات اين دستور را اعمال كن:
[align=left:1dc97f5be5]on (release) {
gotoAndPlay(50);
}[/align:1dc97f5be5]
 

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

بالا