读取图片的技巧:将图片内嵌到 exe 文件中 2010-8-25 ~ 2025-10-17 慢羊羊 (7) 程序中加载图片资源是常见需求。通常,使用相对路径加载图片时,发布项目要把图片一起发布,否则会导致图片无法加载。本文讲解如何将图片以资源形式和 .exe 集成在一起,这样可以做出来只需要一个 .exe 文件就能正确加载图片资源。[查看全文]
正确处理鼠标和按键消息(解决反应迟钝或消息丢失的问题) 2013-10-5 ~ 2024-6-16 Krissi (10) 在处理鼠标消息的时候,有些人会遇到“反应迟钝”或“消息丢失”的问题,感觉操作不灵敏。本文讲解在程序中怎样正确使用 getmessage / peekmessage 处理鼠标和按键消息,以及 flushmessage 的正确使用场景。[查看全文]
窗口技巧:利用窗体句柄实现圆形窗口 2010-8-26 ~ 2023-10-31 慢羊羊 (2) 一些特殊的应用窗口会呈现特殊形状。该篇文章讲述如何做一个圆形窗口,并且根据该思路,可以实现各种形状的窗口。[查看全文]
在程序中正确使用 Unicode 和 MBCS 字符集 2020-3-6 ~ 2023-9-4 慢羊羊 (2) 在 Windows 下做开发,初学者经常面临字符集选择的问题。本文详细解释 MBCS 字符集和 Unicode 字符集的正确使用方法,以及为什么写程序要用 Unicode 字符集。同时对 UTF-8 做了简单介绍。[查看全文]
将 mp3 以资源形式嵌入 exe 中使用 2011-10-7 ~ 2023-4-15 慢羊羊 (0) 嵌入 mp3 和嵌入图片略有不同,本文讲解怎样将 mp3 等音乐资源以资源形式嵌入 exe 文件中,并通过 mciSendString 调用播放。[查看全文]
在游戏中播放音乐 2010-11-28 ~ 2023-4-9 慢羊羊 (13) 本文介绍常用的音乐播放方式,包括 mciSendString、mciSendCommand、PlaySound 等 Windows API 函数,同时给出了若干常用的范例代码。[查看全文]
TC 中的 bioskey() 函数在 VC 中用什么代替? 2011-6-7 ~ 2023-3-8 Krissi (0) bioskey() 函数需要引用头文件 bios.h,这个头文件在 VC 中默认是没有的,将其引用 #include <bios.h> 删掉即可。 功能上,bioskey 可以实现以下三个功能: bioskey(0): 返回用户按键。 如果返回值的低 8 位非 0,该值表示按键的 ASCII 码; 如果返回值的低 8 位为 0,该值表示按键的键码。 作为替代,VC 中可以使用 getch() 返回用户按键。对于功能键(如光标键),getch() 需要调用两次,第一次返回 0 或 0xE0,第二次返回键码。 详见:http://msdn.microsoft.com/en-us/library/078sfkak(v=VS.80).aspx bioskey(1): 返回是否有按键发生。 如果没有按键,返回 0; 如果有按键,返回该按键值。(该按键仍然保留) 作为替代,VC 中可以使用 kbhit() 返回是否有按键发生。 ...[查看全文]
精确延时的实现 2011-5-5 ~ 2023-2-23 慢羊羊 (3) 使用 Windows API 函数 Sleep(),精度低,而且会忽略掉程序的执行时间,这就导致了程序执行时的帧率不够稳定。本文详细讲解如何精确延时,使程序的计时更精准、帧率更稳定、运行更流畅。[查看全文]
游戏中二维碰撞反弹算法分析与实现 2023-2-4 ~ 2023-2-19 huidong (1) 这篇文章主要是来分析一下在游戏中,如何处理二维碰撞问题(主要是圆和矩形的碰撞问题),以及如何处理在实际项目遇到的一些问题。[查看全文]
在没有控制台的 Win32 Application 中使用 EasyX 绘图 2011-12-7 ~ 2023-1-22 慢羊羊 (0) 通常大家学习 VC 都会创建 Win32 Console Application,它的特点就是输入输出简单,调试简单方便。不过对界面要求高的程序有一个控制台窗口似乎并不美观,于是有些同学想隐藏控制台窗口。本文讲怎样在没有控制台的 Win32 Application 中使用 EasyX 绘图。[查看全文]
实现桌面截图 2013-1-29 ~ 2022-9-6 慢羊羊 (2) 本文讲解怎样截取整个桌面的图像。对于控制台程序,执行后首先会创建一个黑色的控制台窗口,然后才会启动你的程序。因此这时候抓到的图,会包括一个黑色的控制台窗口,我想,这是大多数人不希望看到的。因此,实现抓图,要建立的项目需要是 Win32 Application,而不能是平时用的 Win32 Console Application。[查看全文]
保留透明(Alpha)信息地旋转图像 2022-7-19 huidong (0) EasyX 的旋转函数 rotateimage 不支持含有透明信息的图像的旋转,在设置了背景色的情况下会丢失透明信息,故特地编写了保留透明信息的旋转函数。 在此之前也有人写过此类旋转函数,旋转效果很好,也实现了目标效果,可惜存在一些致命 Bug,否则我也不会再造轮子。此旋转函数是原创的,取前人所长,去前人所短,绝对能满足您的旋转需求,让您也不必再造轮子。[查看全文]
对慢羊羊的半透明贴图函数进行改良 2020-8-20 ~ 2022-5-29 灵音 (2) 本文对慢羊羊的半透明贴图函数改良了一下,思路是将贴图分三部分考虑:完全透明的、半透明的、完全不透明的,大部分情况下效率提升明显。[查看全文]
支持 Alpha 信息图片旋转(旋转后自动适应大小) 2020-2-29 ~ 2022-5-29 Lost (2) 由于 EasyX 图形库中的 rotateimage 函数没有考虑关于 alpha 信息的问题,使旋转后的贴图 alpha 信息失真。为了满足自己的需求,本人手动写 rotateimage 函数,解决了该问题。[查看全文]