ترسیم دایره
سلام ببخشید که اینو میگم من زیاد جاوا بلد نیستم تازه برنامه نویسی رو شروع کردم و به این مورد شدیدا نیاز دارم.من میخوام یه دایره تو صفحه ی داشته باشم حالا میخوام یه دایره دیگه (به اندازه نقطه)روی اون دایره بزرگ تو هربار تاچ دکمه به اندازه 1 سی ام محیط جابجا شه و در نهایت دو باره برگرده سر جاش
فقط شدیدا نیاز دارم ممنون
می تونین از تابع رسم دایره در canvas استفاده کنید.
Canvas canvas;
canvas.drawCircle(cx, cy, radius, paint);
که با متغیر تعریف کردن cx و cy می تونین در هر بار کلیک, نقطه ی جدیدی برای ترسیم مجدد دایره تعیین کنید
دوست عزیز این چیزی که میخوای یه کار خلاقانه است و باید یه ساعتی روش فکر کنی تا کامل بتونی بنویسیش . فکر نکنم کسی اینجا حال داشته باشه 1 ساعت سر یه همچین چیزی وقت بذاره. ولی راهنماییت میکنم حالا اگه کسی برات سورس گذاشت که چه بهتر اگه هم نذاشت که همین رو بگیری بری جولو بهش مبرسی ;)
ببین 2 راه داری:
1- یکی اینکه برای دایره بزرگ و کوچیک از 2 تا imageview استفاده کنی و با روش زیر مختصات X , Y ی که باید اون دایره کوچیک بره رو پیدا کنی
2- اینکه از custome control ها استفاده کنی و همونجور که mahdak گفت با استفاده از canvas رسمشون کنی
اما برای مختصات اون دایره کوچیک (مثلا برای 1/30 ام جابجایی روی دایره ) به این شکل عمل کنی :
double theta = current * 360 / count * Math.PI / 180;
double i = Math.cos(theta);
double j = Math.sin(theta);
int x = (int) (Double.parseDouble("" + Math.round(radius * i)));
int y = (int) (Double.parseDouble("" + Math.round(radius * j)));
که counter شماره n امین کلیک ته
count همون 30 میشه
به این ترتیب مختصات x,y که مختصات جدید توپ ته بدست میان و حالا دیگه با کد های مربوط باید اون imageview رو جابجا کنی و یا اون canvas رو رسم کنی
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .