设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3521|回复: 16
打印 上一主题 下一主题

[有事请教] 遊戲製作討論 [ 射泡泡 ] . 求思路 ~

[复制链接]

Lv4.逐梦者

梦石
0
星屑
7335
在线时间
1444 小时
注册时间
2018-12-16
帖子
2036
跳转到指定楼层
1
发表于 2020-5-30 14:13:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x


目前想到的是:
01. 使用ABS插件. 主角是下方的泡泡 往上射出泡泡如果遇到相同顏色的泡泡. 則泡泡爆炸
02.下面主角因為無法多角度射擊泡泡. MV好像沒這功能. 所以只好改成方向固定上方.左右移動

但是目前遇到的問題是 如何判斷相鄰的泡泡也是跟射擊的泡泡相同顏色的條件要如何下?

請問各位大佬會有好思路嗎?

Lv3.寻梦者

梦石
0
星屑
1420
在线时间
159 小时
注册时间
2020-4-26
帖子
152
2
发表于 2020-5-30 17:39:08 | 只看该作者
我用了代码来判断,貌似可行,思路是所有泡泡都是事件,由射出去的泡泡开始,循环判断其八方向的其他事件,如果颜色相同(在事件里可能就是行走图相同),则继续以颜色相同的那个事件为主体,同样判断八方向的事件,这样滚动下去,直到找到所有相连的同颜色事件,最后判断相连的数量大小,来进行消除。

点评

對啊  发表于 2020-5-31 07:33
每次射出去的泡泡.都要用代碼循環判定所有的泡泡是不是相同顏色嗎?  发表于 2020-5-30 21:32
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2822
在线时间
396 小时
注册时间
2015-8-8
帖子
443

R考场第七期纪念奖

3
发表于 2020-5-31 11:39:23 | 只看该作者
本帖最后由 冷俊逸 于 2020-5-31 15:38 编辑

楼上正解,就是深度优先搜索…

点评

我去做个试试,稍等  发表于 2020-5-31 14:19
如何判斷鄰近的泡泡的顏色是否相同呢?  发表于 2020-5-31 13:50
旧作《邵彦朝的大冒险》下载

默默无闻的论坛观察者
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2822
在线时间
396 小时
注册时间
2015-8-8
帖子
443

R考场第七期纪念奖

4
发表于 2020-5-31 15:38:32 | 只看该作者
做了个rmvx版的,可以参考一下,虽然很粗糙

Bubble.7z

234.7 KB, 下载次数: 50

点评

我的是MV...無法開啟這個... >_<  发表于 2020-5-31 16:03
旧作《邵彦朝的大冒险》下载

默默无闻的论坛观察者
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
22094
在线时间
1057 小时
注册时间
2019-3-5
帖子
1424
5
发表于 2020-5-31 16:50:52 | 只看该作者
上代码吧少年,纯事件写这个坐标判断起来怕是头都要大。或者可以看看国外论坛有没有类似的插件
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
2
星屑
6687
在线时间
501 小时
注册时间
2018-3-23
帖子
533

R考场第七期银奖

6
发表于 2020-5-31 17:07:28 | 只看该作者
不脚本你真的会爆炸……
但用脚本会很简单,包括多角度其实也就是简单的函数处理而已,你甚至可以给他加缓动(x
反正这种功能不专门定制,用其他插件套的话会非常麻烦。比如你可以试着用事件写一个简单的深搜(
祝好。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1420
在线时间
159 小时
注册时间
2020-4-26
帖子
152
7
发表于 2020-5-31 18:29:57 | 只看该作者
我的代碼長這樣,請指教一下。另外我最近在用RM做俄羅斯方塊,遇到一些困難,有沒有甚麼思路和建議?

JAVASCRIPT 代码复制
  1. function findLine(root) {
  2.     let line = [];
  3.     line.push(root);
  4.     findNear(root);
  5.  
  6.     function findNear(event) {
  7.         let name = event.characterName();
  8.         let index = event.characterIndex();
  9.         let direction = event.direction();
  10.         check(event.x + 1, event.y);
  11.         check(event.x - 1, event.y);
  12.         check(event.x, event.y + 1);
  13.         check(event.x, event.y - 1);
  14.         check(event.x + 1, event.y + 1);
  15.         check(event.x - 1, event.y - 1);
  16.         check(event.x + 1, event.y - 1);
  17.         check(event.x - 1, event.y + 1);
  18.  
  19.         function check(x, y) {
  20.             let event2 = $gameMap.eventsXy(x, y)[0];
  21.             if (event2) {
  22.                 let name2 = event2.characterName();
  23.                 let index2 = event2.characterIndex();
  24.                 let direction2 = event2.direction();
  25.                 if (name2 === name && index2 === index && direction2 === direction) {
  26.                     if (line.indexOf(event2) === -1) {
  27.                         line.push(event2);
  28.                         findNear(event2);
  29.                     }
  30.                 }
  31.             }
  32.         }
  33.     }
  34.     return line;
  35. }

点评

就是我說的那樣用的啊  发表于 2020-6-2 01:53
請問這麼代碼的作用是甚麼呢?  发表于 2020-6-1 22:04
是  发表于 2020-6-1 11:08
這是MV的腳本代碼嗎?  发表于 2020-5-31 23:40
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7335
在线时间
1444 小时
注册时间
2018-12-16
帖子
2036
8
 楼主| 发表于 2020-6-2 09:31:46 | 只看该作者
要怎麼使用[事件]讓全部的泡泡下降一層. 然後我在最上方補上一層全新的亂數泡泡呢?

我現在想到的是.

事件:
01.等待1200
02.最上方那一層的事件.會自動生成新的泡泡

但是我想要的是 全部下向一層之後. 然後最上方在生成一層新的泡泡

這個[思路]應該要怎麼設定呢?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-27 20:36

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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