یک صفحهی ساده با Canvas بسازید که یک توپ رنگی بهصورت پیوسته روی صفحه به سمت پایین شتاب بگیرد، به لبهها برخورد کند و بازتاب داشته باشد.
1.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:31 0.0
با استفاده از HTML5 Canvas و JavaScript یک حلقهی انیمیشن با requestAnimationFrame ایجاد کنید؛ در هر فریم موقعیت توپ را بر اساس سرعت و شتاب (گرانش) بهروز کنید، قبل از رسم صفحه را با clearRect پاک کنید و توپ را با arc بکشید، سپس برخورد با لبهها را با بررسی مختصات و معکوس کردن مولفهی سرعت انجام دهید (میتوانید با یک ضریب میرایی اندکی انرژی را از بین ببرید). نکات مفید: از getContext('2d') برای رسم استفاده کنید، برای سرعت ثابت از timestamp یا delta time بهره ببرید و برای نمایش واضح روی نمایشگرهای با تراکم پیکسلی بالا devicePixelRatio را در نظر بگیرید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای ثبات و هماهنگی انیمیشن از deltaTime با timestamp استفاده کنید و موقعیت توپ را در هر فریم با سرعت و شتاب بهروزرسانی کنید. همچنین با درنظرگرفتن devicePixelRatio نمایش را روی نمایشگرهای با تراکم پیکسلی متفاوت واضحتر کنید. هنگام برخورد با لبهها، مولفههای سرعت را معکوس کنید و یک ضریب میرایی کوچک اعمال کنید تا انرژی به تدریج کاهش یابد. قبل از رسم، صحنه را با clearRect پاک کنید تا رد فریمهای قبلی محو شوند.
گزارش