软件项目测试作业1

在一次游戏开发的课程设计中,作者遇到了颜色碰撞逻辑的问题。原本设计的颜色混合规则出现了未预料的情况,例如绿色和红色碰撞后产生了不应存在的颜色。通过增加每个矩形实例的RGB计数器并调整碰撞逻辑,最终解决了这一问题。

在大三上的课程设计中,我写了一个小游戏,其原理是将一个矩形按扇形范围射出并在边缘检测处停下,矩形拥有颜色,颜色混合之后会生成新的颜色(遵循三原色原理)。

之后在制作的过程中出现了一些问题,我们知道红+蓝会生成绿,但是绿与红矩形碰撞后,由于没有给红+绿设置代码,不应该存在的组合出现了,这是与我的初衷相悖的

在一番摸索之后发现了如下问题:

我们只设计出了红黄蓝的碰撞,即红碰黄生成蓝……之类,但是在失败的环节上,我们的设定是同色失败,就比如绿+红就直接留在了场上,这是不对的。

 

解决方法:在经过一番摸索之后,我将每个矩形实例设置三个计数器

if (color == 1)
{
CR = new ColorRectangle(temp, 1, 0, 0, centerTemp);
CR.r = 1;
CR.g = 0;
CR.b = 0;
}

然后直接将计数器进行比较就可以实现功能了

之后就可以进行其他的设置,将碰撞换色的功能赋予计数器。

转载于:https://www.cnblogs.com/xubangxi/p/5251607.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值