YOU'VE MADE A BRAVE DECISION, WELCOME.

所爱隔山海,山海不可平。

首页

我来填坑了…半年前写了一半的教程不能不管(= =…我都不想吐槽你了)
对前面几篇教程做了一些代码上的小改动,正好大家可以去看看回顾一下,就当复习了…


聊聊近况

真的是很久没写博客了。

做个人博客是一个仔细活儿,要求你持之以恒,却不让你看到回报。我博客的访问量一直很低,百度爸爸当然也不会好心照顾小网站,想增加流量就必须自己去各种群里宣传,偶尔多一条评论就很开心,甚至折腾了好几天做邮件提示系统,就为了有评论第一时间知道。要不是有这种“小快乐”的支持,估计现在早就关站了…


都已经到了教程三了,好像还啥也没写呢(你也知道啊!)
那我们这次就来干点真事吧!写一下判断按键的部分(这个你第一篇就该教了!)


是不是很好奇程序怎么知道哪里是飞机哪里是子弹?(是啊是啊)
是不是很好奇程序怎么知道何时子弹与敌机相撞?(是啊是啊)
这就是飞机大战最核心的部分——游戏模型,只要有了游戏模型,也就有了开发思路。


如果你是…

  • 正在学习C或C++的新手
  • 对基本语法已经比较熟悉
  • 想要学习简单的游戏制作

啊哈哈,那你来对地方了!
谁愿意每天对着“小黑框框”做烧脑的编程题啊!(就是就是!)
哪有比自己做个游戏更让人兴奋的呢!(对啊对啊!)
哪怕游戏里没有一张图片全是字符!(哎…?纳尼,只能做字符的么…)


吞并触摸消息和字面意思一样,就是当玩家触摸屏幕时,设置了吞并消息的层会阻止触摸消息的向下传递。

例如,我制作的 “FlappyBird复刻版” 中有这么一个场景


使用Visual Studio编写程序有时会出现error C2001: newline in constant(常量中有换行符)的错误提示,继而引发一堆语法错误,让人摸不着头脑。
甚至连下面这个HelloWorld程序都有可能出现该错误

1
2
3
4
5
6
7
#include <stdio.h>
int main()
{
printf("你好,世界");
return 0;
}

const 和#define 的区别和用法

学习C语言的时候,我们经常使用#define来定义常量,例如#define NUM 10
实际上,这种方法只是简单的对宏进行字符替换,把程序中出现的NUM全部替换为10NUM不是变量,没有类型,也不占用内存,而且容易出错。

举个例子说明#define的不安全性: