یک انیمیشن ساده با استفاده از عنصر canvas ایجاد کنید که یک توپ را از چپ به راست حرکت داده و هنگام برخورد با لبههای بوم، جهت آن معکوس شود و حرکت را بدون لرزش ادامه دهد.
7.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:34 0.0
برای حل این مسئله از HTML canvas و JavaScript استفاده کنید: در هر فریم با requestAnimationFrame صفحه را با clearRect پاک کنید، توپ را با arc بکشید و موقعیت آن را با سرعت فعلی بهروزرسانی کنید؛ هنگام برخورد با لبههای canvas سرعت افقی را منفی کنید تا جهت حرکت برگردد. از متغیرهای x، vx و radius برای مدیریت موقعیت، سرعت و برخورد استفاده کنید و برای حرکت روان از timestamp یا محاسبه delta time بین فریمها استفاده کنید؛ میتوانید دکمههای شروع/توقف یا یک اسلایدر برای تنظیم سرعت اضافه کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای حرکت نرم توپ از canvas از deltaTime بین فریمها استفاده کنید تا سرعت مستقل از نرخ فریم باشد. در برخورد با لبههای بوم، مقدار vx را منفی کنید تا جهت حرکت برگردد و از قوانین برخورد ساده استفاده کنید. هر فریم با requestAnimationFrame صفحه را با clearRect پاک کنید، توپ را با arc بکشید و موقعیت را با vx بهروزرسانی کنید تا از لرزش جلوگیری شود. برای تجربه کاربر میتوانید کنترلهایی مانند دکمه شروع/توقف یا اسلایدر سرعت اضافه کنید.
گزارش