win32编程 -- 泡泡跳动

简介: win32编程 -- 泡泡跳动

一、先在窗口画一个圆


//定义圆的直径和坐标
#define 直径 100
int g_x = 100;
int g_y = 100;
case WM_PAINT:
              绘图(hWnd);
              break;
void 绘图(HWND hWnd)
{
       PAINTSTRUCT p = { 0 };//创建画笔
       HDC hdc = BeginPaint(hWnd, &p);
       Ellipse(hdc, g_x, g_y, g_x + 直径, g_y + 直径);
       EndPaint(hWnd, &p);
}


二、创建定时器

case WM_CREATE://创建定时器
              SetTimer(hWnd, 10001, 10, NULL);
              break;

三、设置定时器的操作

int 左往右 = 1;
int 右往左 = 0;
int 上往下 = 1;
int 下往上 = 0;
case WM_TIMER:
              定时器窗口处理(hWnd, wParam);
              break;
void 定时器窗口处理(HWND hWnd, WPARAM wParam)
{
       if (wParam==10001)
       {
              //获取当前客户区空间,20毫秒获取一次,因为窗口随时变化
              RECT rc = {0};
              GetClientRect(hWnd, &rc);
              //如果移动到下面边缘,就往上走
              if (g_y >= rc.bottom -  直径)
              {
                     下往上 = 1;
                     上往下 = 0;
              }
              //如果移动到上面边缘,就往下走
              if (g_y <= rc.top)
              {
                     下往上 = 0;
                     上往下 = 1;
              }
              //如果移动到右面边缘,就往左走
              if (g_x >= rc.right - 直径)
              {
                     右往左 = 1;
                     左往右 = 0;
              }
              //如果移动到左面边缘,就往右走
              if (g_x <= rc.left)
              {
                     右往左 = 0;
                     左往右 = 1;
              }
              if (左往右)
              {
                     g_x++;
              }
              if (右往左)
              {
                     g_x--;
              }
              if (上往下)
              {
                     g_y++;
              }
              if (下往上)
              {
                     g_y--;
              }
              InvalidateRect(hWnd, NULL, FALSE);
       }
}


运行结果:


0a2653c851af460fa595bd959398a8f1.png

目录
相关文章
|
8月前
|
流计算
泡泡龙游戏开发实战教程(3):泡泡如何发射,反弹,移动,停靠
泡泡龙游戏开发实战教程(3):泡泡如何发射,反弹,移动,停靠
124 0
C#窗体连连看小游戏(超详细)(下)
C#窗体连连看小游戏(超详细)
386 0
MASM32编程实现窗口渐入渐出效果
MASM32编程实现窗口渐入渐出效果
|
7月前
|
XML C# 数据格式
[UWP]为番茄钟应用设计一个平平无奇的状态按钮
[UWP]为番茄钟应用设计一个平平无奇的状态按钮
|
Python
Python版飞机大战游戏的设计(一)-----敌机出场(1)
Python版飞机大战游戏的设计(一)-----敌机出场
142 0
|
算法 C#
C#窗体连连看小游戏(超详细)(上)
C#窗体连连看小游戏(超详细)
415 0
C#窗体连连看小游戏(超详细)(上)
|
存储 程序员 Python
Python版飞机大战游戏的设计(一)-----敌机出场(2)
Python版飞机大战游戏的设计(一)-----敌机出场
122 0
|
C语言
c语言通过easyx窗口实现小球打砖块的游戏
c语言通过easyx窗口实现小球打砖块的游戏
213 0
win32编程 -- 泡泡跳动
win32编程 -- 泡泡跳动
127 0
win32编程 -- 泡泡跳动
C语言——函数的综合运用。自定义函数,gotoxy清屏函数与HideCursor隐藏光标,防闪屏,共同制作打飞机游戏。
①在变量中,我们必须进行定义赋值初始化后,才能在程序中使用,所以需要一个“地方”,整理好这些变量,在程序中整洁一些void startup() //数据初始化②打出画面中所显示的所需代码,也给一个函数void show() //显示画面③在游戏运行中,飞机的移动,发射等操作必须使用键盘,此时就要进行输入判断,给出相应的函数,实行不同的命令 ,其中分为两种,一种是程序运行时对输入做出变化,另一种是不变化void updateWithoutInput() //与用户输入无关的更新。