当前位置: 首页 > news >正文

Raylib 事件

事件

分类

键盘事件鼠标事件
键盘事件函数:

bool IsKeyDown(int key); //确定按键按下
bool IsKeyReleased(int key);
bool IsKeyUp(int key);
int GetKeyPressed();

最简单的逻辑控制

思路:我们运用IsKeyDown(Key的状态) 判断键盘是否按下这个键,然后按照上下左右的键位对小球进行控制

#include <stdio.h>
#include <raylib.h>
#include <time.h>
#include <stdlib.h>
void test_database()
{Vector2 p;p.x = 11;p.y = 2;Vector3 o;o.x = 10;o.y = 11;o.z = 10;
}
int main()
{srand((unsigned int)time(NULL));int x = 10, y = 10;InitWindow(800, 600,"Alaso_shuang");while (!WindowShouldClose()){BeginDrawing();DrawCircle(x, y, 10, RED);ClearBackground(BLACK);EndDrawing();if (IsKeyDown(KEY_UP)) y -= 1;if (IsKeyDown(KEY_DOWN)) y += 1;if (IsKeyDown(KEY_LEFT)) x -= 1;if (IsKeyDown(KEY_RIGHT)) x += 1;}CloseWindow();return 0;
}

你会发现这个小球一下子就出去了,我们需要设置帧率才会正常运转,优化上述程序

#include <stdio.h>
#include <raylib.h>
#include <time.h>
#include <stdlib.h>
void test_database()
{Vector2 p;p.x = 11;p.y = 2;Vector3 o;o.x = 10;o.y = 11;o.z = 10;
}
int main()
{srand((unsigned int)time(NULL));int x = 10, y = 10;InitWindow(800, 600,"Alaso_shuang");//需要设置帧率,帧率越低,移动速度越慢SetTargetFPS(60);while (!WindowShouldClose()){BeginDrawing();DrawCircle(x, y, 10, RED);ClearBackground(BLACK);EndDrawing();if (IsKeyDown(KEY_UP)) y -= 1;if (IsKeyDown(KEY_DOWN)) y += 1;if (IsKeyDown(KEY_LEFT)) x -= 1;if (IsKeyDown(KEY_RIGHT)) x += 1;if (IsKeyDown(KEY_ESCAPE)) break;}CloseWindow();return 0;
}

鼠标事件函数:

bool IsMouseButtonPressed(int button);
bool IsMouseButtonDown(int button);
bool IsMouseButtonReleased(int button);
int GetMouse();         //获取鼠标坐标
int GetMouse(void);

最简单的逻辑控制

#include <stdio.h>
#include <raylib.h>
#include <time.h>
#include <stdlib.h>
void test_database()
{Vector2 p;p.x = 11;p.y = 2;Vector3 o;o.x = 10;o.y = 11;o.z = 10;
}
int main()
{srand((unsigned int)time(NULL));int x = 10, y = 10;InitWindow(800, 600,"Alaso_shuang");//需要设置帧率,帧率越低,移动速度越慢SetTargetFPS(60);while (!WindowShouldClose()){BeginDrawing();DrawCircle(x, y, 10, RED);EndDrawing();if (IsMouseButtonDown(MOUSE_BUTTON_LEFT)){DrawCircle(GetMouseX(),GetMouseY(), 10, GREEN);}if (IsMouseButtonDown(MOUSE_BUTTON_RIGHT)){DrawRectangle(GetMouseX()-5, GetMouseY()- 5, 20, 10, RED);}}CloseWindow();return 0;
}
http://www.dtcms.com/a/594433.html

相关文章:

  • mvc做网站前台代码景德镇做网站
  • 做纱线的网站个人建网站步骤
  • 六爻观测基础(二)——五行
  • 天山网站企业信息系统案例
  • 在vue3中实现无限向上滚动效果插件
  • 个人备案网站放什么资料制作卖东西网站
  • 免费人脉推广官方软件网站优化的方式
  • 深度学习:神经网络中的参数和超参数
  • Xilinx 参数化宏(XPM)xpm_cdc_gray
  • langchain1.0工具模块tools的基本使用
  • html5黑色网站wordpress汉化模板
  • 网站做su什么意思网店美工设计模板
  • React useMemo和redux createSelector的区别
  • 唐山网站建设阿里巴巴1688登录入口
  • C++使用TaggedPointer的方式实现高效编译时多态
  • 性能测试、负载测试、压力测试关联和区别
  • 石狮网站建设公司哪家好云南建设工程信息网站
  • 易思网站管理系统深圳网站建设专家
  • (Arxiv-2025)KALEIDO:开源的多主体参考视频生成模型
  • 天津的网站建设公司哪家好土巴兔装修平台电话
  • 【02】深入理解Harris角点检测:从原理推导到实战实现
  • 防城港建设局网站类似游侠客网站建设
  • wordpress 仿站教程东圃手机网站建设电话
  • 3网站建设k大原画培训班官网
  • Spark的persist和cache
  • 28V直流电源简要技术方案
  • 门户网站建设管理总则wordpress linux 下载
  • Web开发核心概念集合
  • 建设施工合同百度权重优化软件
  • Day58 | Java IO模块概览