- Godot Engine Game Development Projects
- Chris Bradfield
- 217字
- 2021-06-18 18:51:32
Obstacles
Finally, the game can be made a bit more challenging by introducing an obstacle that the player must avoid. Touching the obstacle will end the game.
Create a new scene for the cactus and add the following nodes:
- Area2D (named Cactus)
- Sprite
- CollisionShape2D
Drag the cactus texture from the FileSystem dock to the Texture property of the Sprite. Add a RectangleShape2D to the collision shape and size it so that it covers the image. Remember when you added if area.is_in_group("obstacles") to the player script? Add the Cactus body to the obstacles group using the Node tab (next to Inspector).
Now, add a Cactus instance to the Main scene and move it to a location in the upper half of the screen (away from where the player spawns). Play the game and see what happens when you run into the cactus.
You may have spotted a problem: coins can spawn behind the cactus, making them impossible to pick up. When the coin is placed, it needs to move if it detects that it's overlapping the obstacle. Connect the coin's area_entered() signal and add the following:
func _on_Coin_area_entered( area ):
if area.is_in_group("obstacles"):
position = Vector2(rand_range(0, screensize.x), rand_range(0, screensize.y))
If you've added the preceding Powerup object, you'll need to do the same for its area_entered signal.
- 后稀缺:自動化與未來工作
- AWS:Security Best Practices on AWS
- 自動化控制工程設計
- 數據挖掘方法及天體光譜挖掘技術
- 大數據平臺異常檢測分析系統的若干關鍵技術研究
- 21天學通Visual C++
- INSTANT Autodesk Revit 2013 Customization with .NET How-to
- 塊數據5.0:數據社會學的理論與方法
- Kubernetes for Serverless Applications
- Deep Reinforcement Learning Hands-On
- 空間機械臂建模、規劃與控制
- JRuby語言實戰技術
- 典型Hadoop云計算
- C#編程兵書
- Advanced Deep Learning with Keras