有对C#做小游戏有兴趣的吗?最近一直在研究...

tubixue 2010-05-06 05:24:26
研究成果如下:
首先是游戏图片的分割问题...

(这个图只是举例,不太好看,一般图的都是一个动作接一个动作的,这样看起来就像是在动)

以下方法可以将上图可以分割为,一个一个小人物,背景为透明,然后返回一个人物的图片数组

public static Bitmap[] getPics(Image img,int picRows,int picCols)
{
//初始化次图片个数
int imgCount =picRows*picCols;

Bitmap[] allImgs =new Bitmap[imgCount];

//处理图片
Bitmap srcImg = new Bitmap(img);
srcImg.MakeTransparent(Color.FromArgb(255,0,255));

//剪切器
Rectangle sourceRectangle ;


//每个图片高宽
int picWidth=srcImg.Width/picCols;
int picHeight =srcImg.Height/picRows;

//剪切位置
int x = 0;
int y = 0;

for (int i = 0; i < imgCount; i++)
{

sourceRectangle = new Rectangle(x,y,picWidth,picHeight);
allImgs[i] = srcImg.Clone(sourceRectangle,System.Drawing.Imaging.PixelFormat.DontCare);

if(x<srcImg.Width-picWidth)
{
x =x +picWidth;
}
else
{
x = 0;
y = y +picHeight;
}
}
return allImgs;

}


然后有一个 角色对象类,里面储存对象的坐标 和 图片 还有一个画 自己的方法

 private int i = 0;

public override void drawSelf(Graphics g)
{
g.DrawImage(this.ElementPics[i], this.X, this.Y);
if (i < this.ElementPics.Length - 1)
{

i++;
}
else
{
i = 0;
}
}




最后在窗体上 用线程,或Timer控件调用对象drawSelf方法,



不知道这样的代码是否规范,我想做一个类似泡泡堂的游戏,我有图片,但是遇到很多问题,不知道怎么做,比如泡泡的爆炸,爆炸的检测,人物被炸,障碍物的制作也没有思绪,

好难啊 , 前辈们有 类似游戏的代码吗? 我搜索不到啊
...全文
393 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
fu414806353 2011-06-12
  • 打赏
  • 举报
回复
路过。。。。。。。。。。。。。。。。
li45214521 2010-05-07
  • 打赏
  • 举报
回复
xna 2d也不错
另外 LZ不要是用自己的算法 来透明
你可以使用位传送,这样对图片处理比较好
KaKaKaKa 2010-05-07
  • 打赏
  • 举报
回复
楼主有QQ的话,可以加我下。 QQ:582878145

对此也是很有兴趣,苦于无同行,都笑我用C#开发游戏太傻。
镜子锅 2010-05-07
  • 打赏
  • 举报
回复
我凭兴趣做过一些小游戏
图形方面一直是很难解决的东东。
所以做出的大多是扑克、文字游戏。
有兴趣的可以加我,开放源码
ProjectDD 2010-05-07
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 shigaofei1 的回复:]
XNA2D还不如WPF,我赞同,
XNA的2D特垃圾的,
我觉得主要就是绘画方面,和文字支持方面,撮的一塌糊涂。。。
与WPF相距甚远啊。。。
[/Quote]

很兴趣看看具体差距

WPF我很少用,不太懂学习,不过好象WPF的图形处理使用的是DX封装,

XNA2D处理真有你说那么差吗?测试下吧,搞几个例子。有兴趣了解下。13楼的朋友能不能设计个把测试?
Pro_ah 2010-05-06
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 mohugomohu 的回复:]
翻牌游戏http://heyant.com/html/Download56.html
贪吃蛇http://heyant.com/html/Download46.html
坦克大战http://heyant.com/html/Download52.html
[/Quote]
顶个
dylike 2010-05-06
  • 打赏
  • 举报
回复
一直听说XNA,一直没时间去看
mrsupersky 2010-05-06
  • 打赏
  • 举报
回复
不过,XNA在3D和性能方面确实还是很强大的,
我试过除了内存用得较多(因为没有使用动态加载),
CPU超少的
mrsupersky 2010-05-06
  • 打赏
  • 举报
回复
XNA2D还不如WPF,我赞同,
XNA的2D特垃圾的,
我觉得主要就是绘画方面,和文字支持方面,撮的一塌糊涂。。。
与WPF相距甚远啊。。。
ProjectDD 2010-05-06
  • 打赏
  • 举报
回复
GDI+做游戏 性能上不行,C#做点小游戏就只有选 XNA了。。。
dylike 2010-05-06
  • 打赏
  • 举报
回复
LZ的代码是一种效率低下并且很吃内存的代码.有待优化改进.
vpoint2009 2010-05-06
  • 打赏
  • 举报
回复
我觉得XNA还不如WPF,习惯了做winform的思考方式,XNA的理念太专业了,做小游戏有点复杂...
geminizane 2010-05-06
  • 打赏
  • 举报
回复
-.-这个还是看不懂啊...唉..
足球中国 2010-05-06
  • 打赏
  • 举报
回复
xna专门弄游戏的。
l376278721 2010-05-06
  • 打赏
  • 举报
回复
没分了,拿点分发帖
meierai 2010-05-06
  • 打赏
  • 举报
回复
谢谢楼上所有人,,学到了
tubixue 2010-05-06
  • 打赏
  • 举报
回复
谢谢楼上所有人,,学到了
lanfengsese 2010-05-06
  • 打赏
  • 举报
回复
搜索下XNA,专门用C#开发游戏的
vrhero 2010-05-06
  • 打赏
  • 举报
回复
不难,而且不止能做小游戏,去看看XNA吧...

我玩过的至少有两个风靡全球的小游戏是C#+XNA写的...当然我说的这个小是跟魔兽之类大游戏比,跟Plants vs Zombies一个级别...
mohugomohu 2010-05-06
  • 打赏
  • 举报
回复
翻牌游戏http://heyant.com/html/Download56.html
贪吃蛇http://heyant.com/html/Download46.html
坦克大战http://heyant.com/html/Download52.html
加载更多回复(1)

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧