游戏开发论坛

 找回密码
 立即注册
搜索
查看: 6024|回复: 17

新手初来乍到~ 大家好啊~ 抛砖引玉~ 奉上自制小玩意儿一个

[复制链接]

2

主题

9

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2005-2-24 02:40:00 | 显示全部楼层 |阅读模式
初学 DX , 试着做了一个很简单的小东西,  可以上下左右控制以及空格发弹的飞机~ 高手们可别取笑啊~ 望大家多提意见~ 望本版越来越热闹红火~

sf_200522424015.rar

137.1 KB, 下载次数:

4

主题

67

帖子

67

积分

注册会员

Rank: 2

积分
67
QQ
发表于 2005-2-24 11:12:00 | 显示全部楼层

Re:新手初来乍到~ 大家好啊~ 抛砖引玉~ 奉上自制小玩意儿

碰撞很精确哦。是怎么做的??。

8

主题

71

帖子

76

积分

注册会员

Rank: 2

积分
76
发表于 2005-2-24 16:50:00 | 显示全部楼层

Re:新手初来乍到~ 大家好啊~ 抛砖引玉~ 奉上自制小玩意儿

画面渲染还可以。
不过图形少,不知道多了会怎么样。

至于碰撞?我没看出什么精确来。
简单的2D距离检测。  

2

主题

9

帖子

13

积分

新手上路

Rank: 1

积分
13
 楼主| 发表于 2005-2-24 16:52:00 | 显示全部楼层

Re:新手初来乍到~ 大家好啊~ 抛砖引玉~ 奉上自制小玩意儿

像素扫描~~

2

主题

9

帖子

13

积分

新手上路

Rank: 1

积分
13
 楼主| 发表于 2005-2-24 17:10:00 | 显示全部楼层

Re:新手初来乍到~ 大家好啊~ 抛砖引玉~ 奉上自制小玩意儿

部分代码:
                                Color c1,c2;
                                // Iterate over all pixels of
                                // intersection rectangle
                                for (int i = 0; i < intersection.Width; i++)
                                {
                                        for(int j = 0; j < intersection.Height; j++)
                                        {
                                                // Check color of current pixel
                                                // for first and second object
                                                c1=FirstObject_Bitmap.GetPixel(i + addX1 , j + addY1);
                                                c2=SecondObject_Bitmap.GetPixel(i + addX2 , j + addY2);
                                                if (c1 != TransparencyColor && c2 != TransparencyColor)
                                                {
                                                        // Check collision direction
                                                        CheckDirection(FirstObject,
                                                                SecondObject,
                                                                ref FirstToSecondX,
                                                                ref FirstToSecondY);

                                                        // Collision found
                                                        return true;
                                                }
                                        }
                                }

8

主题

71

帖子

76

积分

注册会员

Rank: 2

积分
76
发表于 2005-2-24 20:12:00 | 显示全部楼层

Re:新手初来乍到~ 大家好啊~ 抛砖引玉~ 奉上自制小玩意儿

晕~~~~
双循环扫描!!!
这样一来,浪费了太多空检测呢。

假如把屏幕分割为16X16个块。
对空块跳过。 比如处理 1,2 格的时候 连带检测 相邻的8个块,对象数大于1  检测每两个对象的距离。这样不是轻松很多吗?

8

主题

71

帖子

76

积分

注册会员

Rank: 2

积分
76
发表于 2005-2-24 20:14:00 | 显示全部楼层

Re:新手初来乍到~ 大家好啊~ 抛砖引玉~ 奉上自制小玩意儿

800X600=480000次啊

2

主题

9

帖子

13

积分

新手上路

Rank: 1

积分
13
 楼主| 发表于 2005-2-24 23:45:00 | 显示全部楼层

Re:新手初来乍到~ 大家好啊~ 抛砖引玉~ 奉上自制小玩意儿

哈哈, 楼上的, 这段代码只是对两个 object 之间交叠的部分进行检测啊 ! 部分代码 ! 思维不要太偏激嘛 ~

8

主题

71

帖子

76

积分

注册会员

Rank: 2

积分
76
发表于 2005-2-25 00:23:00 | 显示全部楼层

Re:新手初来乍到~ 大家好啊~ 抛砖引玉~ 奉上自制小玩意儿

哦  是  
我没仔细看 呵呵

不过这样一来也还是满复杂的。
如果是不规则的多种图形,我感觉满乱的。

至少现在用来和合适

4

主题

67

帖子

67

积分

注册会员

Rank: 2

积分
67
QQ
发表于 2005-2-25 11:30:00 | 显示全部楼层

Re:新手初来乍到~ 大家好啊~ 抛砖引玉~ 奉上自制小玩意儿

多谢楼主代码。嘿嘿。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-24 14:08

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表