网站首页 > 知识剖析 正文
这节教程介绍raylib的键盘输入。
示例代码:
#include "raylib.h"
int main(void)
{
// Initialization
const int screenWidth = 800;
const int screenHeight = 450;
InitWindow(screenWidth, screenHeight, "raylib [core] example - keyboard input");
Vector2 ballPosition = { (float)screenWidth/2, (float)screenHeight/2 };
SetTargetFPS(60); // Set our game to run at 60 frames-per-second
// Main game loop
while (!WindowShouldClose()) // Detect window close button or ESC key
{
// Update
//----------------------------------------------------------------------------------
if (IsKeyDown(KEY_RIGHT)) ballPosition.x += 2.0f;
if (IsKeyDown(KEY_LEFT)) ballPosition.x -= 2.0f;
if (IsKeyDown(KEY_UP)) ballPosition.y -= 2.0f;
if (IsKeyDown(KEY_DOWN)) ballPosition.y += 2.0f;
//----------------------------------------------------------------------------------
// Draw
//----------------------------------------------------------------------------------
BeginDrawing();
ClearBackground(RAYWHITE);
DrawText("move the ball with arrow keys", 10, 10, 20, DARKGRAY);
DrawCircleV(ballPosition, 50, MAROON);
EndDrawing();
//----------------------------------------------------------------------------------
}
// De-Initialization
//--------------------------------------------------------------------------------------
CloseWindow(); // Close window and OpenGL context
//--------------------------------------------------------------------------------------
return 0;
}
运行结果:
当我们按下方向键时,球会移动:
我们来看一下这一节的例子和上一节相比,多了什么:
- Vector2 类型
- IsKeyDown函数
- DrawCircleV函数
Vector2类型
首先我们来看一下Vector2,这是一个向量类型,我们跳转到它的定义看一下:
Vector2里面包含两个float类型变量,我们常用向量类型表示位置。
IsKeyDown函数
这个函数看名字的话就是键是否按下,我们看一下它的函数原型:
它的返回值是一个bool类型,在raylib里面宏定义为_Bool。当按键处于按下状态时返回真,它的参数是一个整形,接受一个键盘码,键盘码同样被宏定义,以KEY开头:
DrawCircleV函数
这个函数绘制一个圆在屏幕上,后面的V意思是Vector,也就是它的参数里有向量,我们看一下它的函数原型:
第一个参数是圆心,第二个是半径,最后是颜色。
- 上一篇: python写一个动态录屏程序
- 下一篇: C语言游戏开发,raylib库使用教程(1)
猜你喜欢
- 2025-01-02 界面交互篇:个人中心页布局样式与逻辑交互开发
- 2025-01-02 Python 开发Word转PDF工具实现
- 2025-01-02 程序员用Python实现自动化控制键盘和鼠标
- 2025-01-02 JSX和RN样式以及和web的不同之处
- 2025-01-02 原神增大视野范围方法 原神怎么增加可视范围
- 2025-01-02 137.Python——PySide6:QInputDialog输入对话框的创建与使用
- 2025-01-02 科目二倒车入库模拟机程序代码
- 2025-01-02 用 Python 和 Pygame 实现一个图形界面的俄罗斯方块小游戏
- 2025-01-02 软件测试|超好用超简单的Python GUI库——tkinter(二)
- 2025-01-02 红色警戒轻松搞定高分辨率全屏
- 最近发表
-
- 用Python把表格做成web可视化图表
- 太秀了!Excel批量生成条形码和二维码,一个公式就能解决
- 制作Excel电子表格必备的:Excel 2021 mac中文版
- C#/VB.NET:将 HTML 转换为 Excel_如何将html中的数据转换到excel中
- 如何快速写出表格代码?exl表格转换成html代码
- 一看就懂的Excel表格的基本操作的十大技巧
- Java发送包含表格的邮件_java发邮件内容含表格
- Python——Html(表格, , ,、表单 、自定义标签 和)
- 太漂亮了 ! 输出好看的表格,就用这个 Python 库
- AI实用指南:对抗AI幻觉的秘诀与Cursor+Claude 3.7编程Rules技巧
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)