آموزش Gravity در برنامه نویسی سی شارپ
Gravity by Csharp
گرانش در سی شارپ.
در این آموزش میخواهیم با زبان سی شارپ گرانش را شبیه سازی کنیم.
در نرم افزار یونیتی شما میتوانید بدون کد نویسی این گرانش را شبیه سازی کنید ولی در این آموزش میتوانید با سی شارپ هم کد گرانش رو یاد بگیرید . میزان قدرت گرانش رو تغییر بدین
و چیز های دیگه مثل قدرت برخورد جسم و… .
متغییر های زیر را تعریف کنید.
1 | double speedX = 0, speedY = 0, gravity = 1, gravitySpeed = 0, bounce = 0.6; |
هر چه مقدار متغیر gravity کم تر باشد مقدار قدرت گرانش کم تر خواهد بود.
هر چه مقدار متغیر bounce کم تر باشد مقدار قدرت برخورد جسم و مقدار انرژی موجود در جسممان کم تر خواهد بود.
اگر مقدار gravity را یک مقدار ثابت مثلا 1 در نظر بگیریم اگر مقدار bounce 0.5 باشد بعد از این که به زمین برخورد کرد مثلا 3 متر بالا میرود و در برخورد دوم 2.5 و هین طور ادامه خواهد داشت تا به 0 برسد. و اگر bounce را 1 بکنیم در اولین برخوردش 6 متر بالا میرود.
در اینحا جسممان را یک picturebox قرار دادیم
کد زیر را در تایمر قرار دهید :
1 2 | gravitySpeed += gravity; pictureBox1.Top += Convert.ToInt16(speedY + gravitySpeed); |
و حالا باید زمین جسممان را مشخص کنیم. که ما اینجا خوده form رو در نظر گرفتیم.
1 2 3 4 5 | if (pictureBox1.Top > this.Height - pictureBox1.Height *2) { pictureBox1.Top = this.Height - pictureBox1.Height*2; gravitySpeed = -(gravitySpeed * bounce); } |
خب حالا وقتی که جسم رها شود مانند این میماند که یک توپ فوتبال را به زمین بی اندازیم.
با کمی خلاقیت و تغییر میتوانید چیز های جالب تری از این کد به دست آوردید و یاد بگیرید.
موفق باشید.