سوالاتی پیرامون پروژه ی باران Rain project
با سلام .
بنده تازه که دارم این سوال رو طرح میکنم ، به این بخش از آموزش یعنی "پروژه ی باران" رسیده ام .
قبل از این ، پروژه ماشین حساب و بعد از اون ، این پروژه ، برای بنده از سختترین موارد آموزشی بوده اند و بقیه ی آموزشها رو تاحد بسیار مطلوبی یادگرفتم و میتونم پیاده سازیشون کنم .
حدود سه روز هست که این پروژه من رو به خودش مشغول کرده و نمیزاره جلو برم ، از اونجایی که بنده یک طبع کمال گرایی ای دارم که وسواسم بهم اجازه نمیده که تا یک آموزشی رو کاملاً یاد نگرفتم ، به پروژه ی بعدی برم ، هر چند خیلی از دوستان مخالف نظریه ی بنده هستند .
به هرحال متوجه شدم که بخشهای آتی بسیار بسیار شیرین و سریع الهضم هست اما این پروژه بهم این اجازه رو نمیده که برم جلو ، اگه نظری داشتید همینجا زیر همین پست بهم بگید ، چه مخالف چه موافق .
پاسخ به معضلات بنده توی پست دوم فراموش نشه :
در این پروژه 2 معضل داشتم که دونه دونه مطرح میکنم و از دوستان موجود در انجمن میخوام که تا حد ممکن بهم کمک کنند .
پیشاپیش دستبوس یکایک شما دوستان هستم .

معضل اول بنده :
اونجایی که : استاد نشون میده در پروژه ی باران چقدر حلقه درحال تولید شدن هستن و چقدر از این حلقه هایی که مقدار Alpha آنها به صفر رسیده و در صفحه موجود هستند و درحال پردازش هستند .
استاد برای رفع این مشکل میاد و در قسمت onDraw این کد زیر رو مینویسه :
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
synchronized (drops) {
for (int i=drops.size()-1; i>=0; i--) {
Drop drop = drops.get(i);
float alpha = 255 - drop.size * 2.55f;
if (alpha < 0) {
drops.remove(i);
alpha = 0;
}
if (alpha > 255) {
alpha = 255;
}
paint.setAlpha((int) alpha);
canvas.drawCircle(drop.px, drop.py, drop.size, paint);
}
}
}
در واقع استاد تنها For Loop رو دستکاری کرد و اون خط که نوشته :
drops.remove(i);ممنون میشم اگه کسی بتونه این کدها رو برامون توضیح بده .
کسی میتونه این حلقه for رو توضیح بده ؟
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .