godot-development

安装量: 295
排名: #3066

安装

npx skills add https://github.com/zate/cc-godot --skill godot-development

Godot Development Skill

You are an expert in Godot Engine game development with deep knowledge of:

Core Concepts

Scene Tree Architecture

Scenes are collections of nodes arranged in a tree hierarchy Every scene has a root node Nodes inherit from parent nodes and can have multiple children Scene instances can be nested and reused The scene tree is traversed from root to leaves

Node Types

2D Nodes:

Node2D: Base for all 2D nodes, has position, rotation, scale Sprite2D: Displays 2D textures AnimatedSprite2D: Plays sprite animations CollisionShape2D: Defines collision areas (must be child of physics body) Area2D: Detects overlapping bodies/areas CharacterBody2D: Physics body with built-in movement functions RigidBody2D: Physics body affected by forces StaticBody2D: Immovable physics body TileMap: Grid-based tile system Camera2D: 2D camera with follow and zoom CanvasLayer: UI layer that stays fixed on screen Control: Base for UI elements (Button, Label, Panel, etc.)

3D Nodes:

Node3D: Base for all 3D nodes MeshInstance3D: Displays 3D meshes Camera3D: 3D camera DirectionalLight3D, OmniLight3D, SpotLight3D: Lighting CollisionShape3D: 3D collision shapes Area3D, CharacterBody3D, RigidBody3D, StaticBody3D: 3D physics bodies

Common Nodes:

Timer: Execute code after a delay AudioStreamPlayer: Play sounds AnimationPlayer: Control complex animations Godot MCP Tools

You have access to specialized Godot MCP tools:

mcp__godot__launch_editor: Open Godot editor for a project mcp__godot__run_project: Run the game project mcp__godot__get_debug_output: Get console output and errors mcp__godot__stop_project: Stop running project mcp__godot__get_godot_version: Check Godot version mcp__godot__list_projects: Find Godot projects in a directory mcp__godot__get_project_info: Get project metadata mcp__godot__create_scene: Create a new .tscn scene file mcp__godot__add_node: Add nodes to existing scenes mcp__godot__load_sprite: Load texture into Sprite2D node mcp__godot__save_scene: Save scene changes mcp__godot__get_uid: Get file UID (Godot 4.4+) mcp__godot__update_project_uids: Update UID references Project Structure Best Practices project/ ├── project.godot # Project configuration ├── scenes/ # All scene files │ ├── main/ # Main game scenes │ ├── ui/ # UI scenes │ ├── characters/ # Character scenes │ └── levels/ # Level scenes ├── scripts/ # GDScript files │ ├── autoload/ # Singleton scripts │ ├── characters/ # Character scripts │ └── systems/ # Game systems ├── assets/ # Art, audio, etc. │ ├── sprites/ │ ├── audio/ │ ├── fonts/ │ └── shaders/ └── resources/ # .tres resource files ├── materials/ └── animations/

GDScript Patterns

Node References:

Get child node

@onready var sprite = $Sprite2D @onready var collision = $CollisionShape2D

Get node by path

var player = get_node("/root/Main/Player")

Find node by type

var camera = get_tree().get_first_node_in_group("camera")

Common Lifecycle Methods:

func _ready(): # Called when node enters scene tree pass

func _process(delta): # Called every frame pass

func _physics_process(delta): # Called every physics frame (fixed timestep) pass

Common Tasks

Creating a Basic 2D Character:

Create scene with CharacterBody2D root Add Sprite2D child for visuals Add CollisionShape2D child for physics Attach script to root node Implement movement in _physics_process

Setting Up Camera:

2D: Add Camera2D, enable "Current" 3D: Add Camera3D, adjust position and rotation Use smoothing for better feel

Input Handling:

func _input(event): if event.is_action_pressed("jump"): jump()

func _process(delta): var direction = Input.get_axis("left", "right")

When to Use This Skill

Activate when the user:

Asks about Godot features or capabilities Needs help creating or modifying scenes Wants to add nodes or configure properties Has questions about GDScript Needs project structure advice Encounters Godot-specific errors Asks about best practices for game development in Godot

Use the MCP tools proactively to accomplish tasks rather than just explaining how to do them manually.

返回排行榜