社区讨论
[淼]幻影虚空/亿些优化
灌水区参与者 15已保存回复 18
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 18 条
- 当前快照
- 1 份
- 快照标识符
- @m4xuqvg9
- 此快照首次捕获于
- 2024/12/21 15:22 去年
- 此快照最后确认于
- 2024/12/21 17:35 去年
前言:
我本来想用AI生成类似空洞骑士的战斗游戏,然后我把我的 纪元战争 发给它,它直接懵逼看不懂我的代码(
我让它自己写一个,也是调了半天屁都没有 xd
所以我决定退而求其次,发给它我的 shoot 函数 (自定义弹幕编辑器有代码) 调了十几分钟,这回能懂了,效果出奇的不错!
我本来想用AI生成类似空洞骑士的战斗游戏,然后我把我的 纪元战争 发给它,它直接懵逼看不懂我的代码(
我让它自己写一个,也是调了半天屁都没有 xd
所以我决定退而求其次,发给它我的 shoot 函数 (自定义弹幕编辑器有代码) 调了十几分钟,这回能懂了,效果出奇的不错!
我还生成了一个更难更高级的,但是还没调完,估计得下周再调了。
虽然AI菜的没边还经常CE,但是有时候还是有不错的想法和实现方案的,大家可以尝试着玩玩
正文:
CPP
void spawnFinalVoid(int centerX, int centerY, double speed, int numRings, int numBulletsPerRing, double startAngle) {
changewhat++;
for (int ring = 0; ring < numRings; ++ring) {
double radius = static_cast<double>(ring) * 200.0 / numRings; // 将屏幕分成numRings个环
double increment = 2 * M_PI / numBulletsPerRing; // 每个子弹的角度增量
for (int bullet = 0; bullet < numBulletsPerRing; ++bullet) {
double angle = startAngle + increment * bullet + ring * 2 * M_PI / numRings; // 每个环内子弹的角度
int x = static_cast<int>(centerX + radius * cos(angle));
int y = static_cast<int>(centerY + radius * sin(angle));
int x1 = centerX;
int y1 = centerY;
// 向中心汇聚的弹幕
if(changewhat==1)shoot(x, y, x1, y1, 1, 0, 1, changewhat, 0, 100, speed*1.5, 50);
if(changewhat==2)shoot(x, y, x1, y1, 1, 0, 1, changewhat, 0, 100, speed, 50);
// 从中心扩散的弹幕
angle += M_PI; // 反转方向
x = static_cast<int>(centerX + (radius + 50) * cos(angle)); // 增加半径以模拟扩散
y = static_cast<int>(centerY + (radius + 50) * sin(angle));
if(changewhat==1)shoot(x1, y1, x, y, 1, 0, 1, changewhat, 0, 100, speed*1.5, 50);
if(changewhat==2)shoot(x1, y1, x, y, 1, 0, 1, changewhat, 0, 100, speed, 50);
}
}
if(changewhat==2)changewhat=0;
}
这是幻影虚空的部分代码,AI的弧度角度制转化等确实是个很好的思路,能够用for循环形成良好的环形弹幕机制。
也有很多意料之外的东西,比如第一阶段中绿圈的闪现,这个其实我也不知到为啥会发生,但是确实是个良性BUG,增加了视觉效果。还有第三阶段,我算是给AI全改了,原本AI是打算到一定距离再改变方向,但我直接决定每一帧增加一个向心力,我当时没预料到这么震撼(
也有很多意料之外的东西,比如第一阶段中绿圈的闪现,这个其实我也不知到为啥会发生,但是确实是个良性BUG,增加了视觉效果。还有第三阶段,我算是给AI全改了,原本AI是打算到一定距离再改变方向,但我直接决定每一帧增加一个向心力,我当时没预料到这么震撼(
更震撼的效果,敬请期待,游戏亲测可过 我还给你们加上了存档
[淼]开源弹幕游戏——自定义弹幕编辑器 这个BOSS代码最重要的部分就是 shoot,而自定义编辑器给予了不会编程但有想法的同学创作的机会,欢迎大家继续修改这个东西 (我没时间写这个编辑器)
回复
共 18 条回复,欢迎继续交流。
正在加载回复...
