- Scratch 2.0 Game Development HOTSHOT
- Sergio van Pul Jessica Chiang
- 475字
- 2021-07-19 18:16:56
Creating a parabolic shot
The ball will move upwards in the direction you threw it. At some point it will start to slow down, stop, and then start falling down. The path the ball follows is called a parabola. This is what we expect of gravity. It's always around us, so we don't pay too much attention to it. If you would throw the ball in space, which has no gravity, the ball would move on forever in a straight line, as it does now in our game. On Earth, the ball will move up for a while, then slow down, and eventually fall down again. This movement path is described in the following diagram:

In this case, the cannon and cannonball should be on the ground, so we want to simulate some gravity. Not only will the parabola trajectory look more interesting, it will also make the game more challenging. You could try hitting a target by shooting the cannonball at a steep angle and have it hit a target as it drops down. It is very useful to shoot over the hills, which we will do in the last stage of this project.
Engage thrusters
To simulate gravity, you could use a realistic mathematical formula. But it can be hard to figure out, and in a simple game, it often isn't needed. We are going to create a good-looking parabola trajectory with just a simple calculation and some trickery.
To simulate the pull of gravity, we are going to use the built-in timer variable. This timer will start counting seconds when the game is started, but we can reset it to start counting again. We will be using the increasing number as a constantly increasing pull, which will eventually start dragging the cannonball downwards.

The steps to create the trajectory are as follows:
- We select the cannonball sprite to add to its scripts.
- After the move () steps command, add a change y by () block. This will cause the cannonball to vertically move a bit after taking its steps.
- Place a () * () (multiplication) operator in the box.
- Then put the timer variable in one of the operator slots.
- In the other slot, fill in a number manually. Try a few numbers, just for the fun of it, and see what happens.
In my opinion, the number -5 has the best result. But if you disagree, you're free to choose another number. Just make sure that the number is negative, because a positive number will cause the cannonball to float ever faster upwards.
- To reset the timer after the cannonball has hit something, add a reset timer block at the start of the loop.

Objective complete – mini debriefing
Test the game again and turn the cannon to point at different angles. See how the parabolic trajectory of the cannonball responds.
- 我們都是數據控:用大數據改變商業、生活和思維方式
- Visual Studio 2015 Cookbook(Second Edition)
- 達夢數據庫性能優化
- 數據庫原理與應用(Oracle版)
- Power BI商業數據分析完全自學教程
- 金融商業算法建模:基于Python和SAS
- Apache Kylin權威指南
- 重復數據刪除技術:面向大數據管理的縮減技術
- 貫通SQL Server 2008數據庫系統開發
- MySQL數據庫技術與應用
- Gideros Mobile Game Development
- R Machine Learning Essentials
- Hands-On System Programming with C++
- 大數據分析:R基礎及應用
- Microsoft Dynamics NAV 2015 Professional Reporting