C#游戏编程
GDI+是新的.NET Framework中基于类的二维图形、图像和版面的应用编程接口。 与旧版本的GDI相比,GDI+具有一些实质性的改进,包括更好的性能、更多的功能,它甚至可以在64位计算机系统上运行,GDI+确实值得认真研究。
一、使用Graphics对象执行图形操 1、使用PaintEventArgs参数创建Graphics对象 我们看例子。下面的代码展示了如何在屏幕的(10,20)位置上绘制一个简单的红色长方形,长方形的高是7,长是17,以像素为单位。
private picSourcePaint(object sender,PaintEventArgs e)
{
e.Graphics.FillRectangle(new SolidBrush(Color.Red),10,20,13,7);
}
2、使用窗口句柄创建Graphics对象 我们可以通过一个句柄来指向窗口的可拖拽部分。这个句柄就是Graphics对象,它可以通过Graphics.FromHwnd方法获得。看下面例子:
Graphics graph=new Graphics();
graph=Graphics.FromHwnd(pictureBOx.Handle); graph.FillRectangle(new SolidBrush(Color.Red),10,20,13,7);
注:此方法验证成功
3、从图像中创建Graphics对象 当pictureBox中有图像时,可用以下方法
Graphics graph;
graph=Graphics.FromHwnd(pictureBOx.image);
graph.FillRectangle(new SolidBrush(Color.Red),10,20,13,7);
注:此方法没有验证通过。
二、创建梯度
下面示例代码展示了如何创建一个色彩均一的梯度画笔,并使用该画笔从左上角到右下角绘制了一个色彩从红色变换到蓝色的长方形。
Graphics graph;
Drawing2D.LinearGradientBrush linGrBrush;
graph=Graphics.FromHwnd(picturBox.Handle);
linGrBrush=new LinearGradientBrush(new Point(10, 20), new Point(110, 70), Color.FromArgb(255, 255, 0, 0), Color.FromArgb(255, 0, 0, 255));
graph.FillRectangle(linGrBrush, 10, 20, 100, 50);
三、冲突检测
1、限定框算法:在对象的周围建立一些框,依据这些对象,在一个可以接受的精度范围内检测其上的最小冲突。
当两个矩形框和重合的时候,说明两个对象发生了冲突。基检测方法很简单,即看两个限定框在水平方向上的坐标之差是否大于两个限定框的长之和,且水平方向上的坐标之差是否大于两个限定框之和。若不满足,说明发生冲突。
2、邻近性检测算法
算法基本思想:先计算两个对象中心之间的距离,然后检查某个公式的值。
(1)、两个圆形对象的冲突
建立二维坐标,计算是否相切即可。
(2)、圆形和正方形的冲突
以正方形两边为坐标,看正方形到圆心最近点跟那个最近点的XY方向的差值,看是否符合勾股定理。
相关知识
儿童游戏开发教程:宠物清洗与护理C#源码
C#宠物小游戏《scw》的操作与命名教程
c#语言实现的桌面宠物资源
C#桌面宠物金鱼源代码资源
【免费】C#桌面宠物(17种宠物)源代码.RAR资源
基于C#制作一个桌面宠物代码
C#开源桌宠模拟器:WPF中内置互动虚拟宠物
编程游戏 学习编程的利器 codecombat
编程猫训练师(编程猫游戏) v2.0.2官方版
动物奔跑游戏(AnimalRunGame):打造属于你的趣味跑酷世界
网址: C#游戏编程 https://www.mcbbbk.com/newsview581290.html
上一篇: 在办公室里养只宠物 |
下一篇: 介绍天津宠物论坛 |
推荐分享

- 1我的狗老公李淑敏33——如何 5096
- 2南京宠物粮食薄荷饼宠物食品包 4363
- 3家养水獭多少钱一只正常 3825
- 4豆柴犬为什么不建议养?可爱的 3668
- 5自制狗狗辅食:棉花面纱犬的美 3615
- 6狗交配为什么会锁住?从狗狗生 3601
- 7广州哪里卖宠物猫狗的选择性多 3535
- 8湖南隆飞尔动物药业有限公司宠 3477
- 9黄金蟒的价格 3396
- 10益和 MATCHWELL 狗 3352