کند اجرا شدن انیمیشن بازی 2048
سلام
حدود 1 هفته هست که دارم انیمیشن بازی 2048 رو میسازم که هم بازی رو کامل کرده باشم و هم تمرینی برام باشه . توسط یک Thread با فاصله زمانی یکنواخت عددها حرکت میکنن . برنامه درست اجرا میشه و انیمیشن هم کار میکنه ولی چون پروسس زیاده ، در اجرا تأخیر و پرش دیده میشه . چون هر دفعه که Thread ، متد onDraw رو صدا میزنه همه چیز از اول رسم میشه حتی اون چیزهایی که ثابت هستند .
1 - آیا راهی وجود نداره که وقتی متد onDraw رو صدا میزنیم بهش بگیم بعضی چیزها ثابت بمونه و تغییر نکنه و نیازی به ترسیم مجدد نباشه و فقط چیزهایی که ما مشخص میکنیم دوباره رسم بشه ؟ یا اینکه نه ، متد onDraw کل صفحه رو دوباره رسم میکنه ؟
2 - بازی 2048 که استاد در بخش 24 دانلود کردن :
برای انیمیشن از چه روشی استفاده کرده که اینقدر نرم و روان کار میکنه ؟! اگه از همین روش من استفاده کرده چرا مال من با پرش اجرا میشه ؟
لطفا اگه کسی با انیمیشن کار کرده بگه چطور باید این کار رو انجام بدم ؟ من با الگوریتم نویسی مشکل ندارم ، یعنی هر روشی که شما بگین میتونم با اون روش انیمیشن بسازم ، فقط نمیدونم روش خوب و صحیح که بتونه نرم و روان کار کنه چیه ؟ ( بازم میگم روش بالا که استفاده از متد onDraw هست درست کار میکنه ، ولی ظاهرا به دلیل رسم همه چیز از ابتدا ، روش خوبی نیست و پروسس زیاد داره ) .
ممنونم .
من با انیمیشن translate کار کردم ولی این فرق میکنه ، مشکل اینجاست که فرضا اگه انیمیشن رو بسازم ، کنترلی ندارم بهش اختصاص بدم . مثلا استاد در آموزش نوشتن :
imgSample.startAnimation(set);
یعنی کل کنترل ( imgSample ) رو انیمیت میکنه ، در صورتی که من میخوام یه مربع که با drawRect رسم شده رو انیمیت کنم ، نمیشه که . چون کنترل نیست و خودش بخشی از کنترل imageView هست و اصلا id نداره ! به چی اختصاص بدم ؟!
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .