# 进入 raylib 目录
cd raylib
# 运行某个示例(注意:单文件需加 -file 标志)
odin run 01_basic_window.odin -file
# 或者编译后再运行
odin build 01_basic_window.odin -file -out:example.exe
./example.exe| # | 文件 | 说明 | 难度 |
|---|---|---|---|
| 1 | 01_basic_window.odin | 基本窗口 - 创建窗口、清屏、绘制文字 | ⭐️☆☆☆ |
| 2 | 02_input_keys.odin | 键盘输入 - 方向键移动小球 | ⭐️☆☆☆ |
| 3 | 03_input_mouse.odin | 鼠标输入 - 鼠标跟随 + 左右中键变色 | ⭐️☆☆☆ |
| 4 | 04_basic_shapes.odin | 基本形状 - 圆形、矩形、三角形、多边形、线条 | ⭐️☆☆☆ |
| 5 | 05_color_palette.odin | 颜色调色板 - 显示 raylib 所有默认颜色 | ⭐️☆☆☆ |
| 6 | 06_image_loading.odin | 图片加载 - 加载纹理并显示(无图片时自动生成棋盘格) | ⭐️☆☆☆ |
| 7 | 07_sprite_animation.odin | 精灵动画 - 用 RenderTexture 实现帧动画 | ⭐️☆☆☆ |
| 8 | 08_text_font_loading.odin | 字体加载 - 默认字体 + TTF 外部字体 | ⭐️☆☆☆ |
| 9 | 09_collision_detection.odin | 碰撞检测 - 矩形-矩形 + 圆形-矩形碰撞 | ⭐️☆☆☆ |
| 1 | 10_audio_playing.odin | 音频播放 - 音乐播放、暂停、变速 + 动态圆圈动画 | ⭐️☆☆☆ |
| 1 | 11_bouncing_ball.odin | 弹跳球 - 物理反弹 + 空格暂停 | ⭐️☆☆☆ |
| 1 | 12_3d_cube.odin | 3D 立方体 - 3D 相机环绕 + 键盘移动 | ⭐️☆☆☆ |
每个文件都是独立的、可直接编译运行的,涵盖了 raylib 的以下模块:
- Core - 窗口、输入、碰撞检测、帧率
- Shapes - 所有基本形状绘制
- Textures - 纹理加载、渲染纹理
- Text - 字体加载、文本格式化
- Audio - 音频设备、音乐流
- Models - 3D 相机、立方体、网格
PS D:\project_code\open_source\odin\raylib> odin run .\10_audio_playing.odin -file
D:/project_code/open_source/odin/raylib/10_audio_playing.odin(82:47) Error: Cannot assign value 'transmute([]u8)samples' of type '[]u8' to 'rawptr' in a procedure argument
... omMemory(".wav", transmute([]u8)samples, uint(len(samples) * 4))
^~~~~~~~~~~~~~~~~~~~~^
D:/project_code/open_source/odin/raylib/10_audio_playing.odin(82:71) Error: Cannot assign value 'uint(len(samples) * 4)' of type 'uint' to 'i32' in a procedure argument
... omMemory(".wav", transmute([]u8)samples, uint(len(samples) * 4))
^~~~~~~~~~~~~~~~~~~~~^