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

Project1

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

[交流讨论] 有沒有辦法做一個彈奏鋼琴的

[复制链接]

Lv2.观梦者

梦石
0
星屑
497
在线时间
266 小时
注册时间
2015-12-8
帖子
873
跳转到指定楼层
1
发表于 2016-1-2 02:56:32 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

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

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

x
本帖最后由 小叮鈴 于 2016-1-2 02:57 编辑

就是 需要依照順序彈奏鋼琴 用按鈕判斷發音 比如按上是DO 按下是RE 按左是MI

初步想法是用公用事件 建立七個音階 七個公用事件為正確 七個為錯誤 總共14個事件並行

然後如果是正確就變量=1 錯誤變量=2 在建立兩個事件並行變量

每次判斷音符就重複上面這些動作 搞了幾個音符就複雜到快發瘋 有沒有甚麼更簡單的方法{:2_277:}

另外弱弱問問MV好像支援滑鼠和觸控吧 有沒有能直接點鋼琴的方法{:2_276:}

Lv2.观梦者

梦石
0
星屑
497
在线时间
266 小时
注册时间
2015-12-8
帖子
873
24
 楼主| 发表于 2016-1-3 15:56:22 | 只看该作者
小叮鈴 发表于 2016-1-3 14:46
問問.json怎麼開@@

你說讀取範例地圖嗎? 我丟進去也沒看見耶@@ 你地圖名子叫甚麼?

点评

移动到那个文件夹,然后重新打开这个工程就好,其实和我截图是一样的  发表于 2016-1-3 19:47
data文件夹里找到map00几的文件,在mv软件里新建一个空白地图,你会发现得到了一个新的mapxxx,把这个新的删除,然后把我的这个修改成新的那个的名.  发表于 2016-1-3 19:45
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
497
在线时间
266 小时
注册时间
2015-12-8
帖子
873
23
 楼主| 发表于 2016-1-3 14:46:16 | 只看该作者
汪汪 发表于 2016-1-3 13:08
试着打开地图就好,只有一个事件,所以直接看也行

問問.json怎麼開@@

点评

還是搞不懂= = 用了半天還是沒出來@@ 能直接打包完整的嗎@@  发表于 2016-1-3 21:07
建一个新地图,替换,重命名不就行了。  发表于 2016-1-3 14:58
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1232
在线时间
1017 小时
注册时间
2011-4-30
帖子
1516
22
发表于 2016-1-3 13:08:03 | 只看该作者
本帖最后由 汪汪 于 2016-1-3 13:12 编辑

试着打开地图就好,只有一个事件,所以直接看也行

Map002.zip

1.05 KB, 下载次数: 48

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
388 小时
注册时间
2009-8-4
帖子
219
21
发表于 2016-1-3 10:27:52 | 只看该作者
本帖最后由 andrewx 于 2016-1-3 11:09 编辑
小叮鈴 发表于 2016-1-3 01:45
不太對阿 假如我第一個按對 這時候A=1 B=1 因為答對 所以A+1
這時候A=2 B=1
然後因為A=2 所以觸發了第二 ...


不不,A只在按键以后+1,判断正确不+1,实际上如果输入正确什么都不做,所以公共事件会直接结束等待下一次按键。
不理解的话先严格按照我的图示做一遍,之后再加你想要的效果吧
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
497
在线时间
266 小时
注册时间
2015-12-8
帖子
873
20
 楼主| 发表于 2016-1-3 01:45:40 | 只看该作者
andrewx 发表于 2016-1-3 00:50
公共事件只在触发了按键事件后被这个按键事件call起来,在这之前你的按键事件已经给B赋值了。然后它会检 ...

不太對阿 假如我第一個按對 這時候A=1 B=1 因為答對 所以A+1
這時候A=2 B=1
然後因為A=2 所以觸發了第二個條件 當A=2時 B不等於3
這時候因為才剛按下 所以B還是停留在B=1 就跳到下一個分支下去
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
388 小时
注册时间
2009-8-4
帖子
219
19
发表于 2016-1-3 00:50:41 | 只看该作者
小叮鈴 发表于 2016-1-2 23:50
我還有一個笨問題

假如點鋼琴開始之後,就是在地圖上的事件觸發打開公用事件

公共事件只在触发了按键事件后被这个按键事件call起来,在这之前你的按键事件已经给B赋值了。然后它会检查现在是第几下(A的值)以及是否弹错(B的值)。每按一次键都会call一次公共事件来检测对错。看我的示例,第一张图就是第一个按键do的设置,其余的修改变量B的值依次为1~7
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
497
在线时间
266 小时
注册时间
2015-12-8
帖子
873
18
 楼主| 发表于 2016-1-2 23:50:36 | 只看该作者
andrewx 发表于 2016-1-2 21:16
只用一个公共事件就行了,而且不需要并行。

地图上的钢琴按钮事件有7个代表七个音,每个触发之后首先播放 ...


我還有一個笨問題

假如點鋼琴開始之後,就是在地圖上的事件觸發打開公用事件

這樣公用事件不是會直接整個跑完嗎?

打開公用事件之後 A=1 B還未有函數(因為還沒點任何鋼琴鍵) 這時候B就不等於1 直接顯示錯誤
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
497
在线时间
266 小时
注册时间
2015-12-8
帖子
873
17
 楼主| 发表于 2016-1-2 23:48:29 | 只看该作者
汪汪 发表于 2016-1-2 22:11

不太離解這個腳本的意思,你可以把存檔給我看一下範例嗎^^
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1232
在线时间
1017 小时
注册时间
2011-4-30
帖子
1516
16
发表于 2016-1-2 22:12:41 | 只看该作者
本帖最后由 汪汪 于 2016-1-3 00:10 编辑
小叮鈴 发表于 2016-1-2 20:57
這是用樓上A和B的變量嗎?

  1.         if (TouchInput.isRepeated()) {
  2.                //获取点击处x y  你可能需要用到
  3.                 var x = $gameMap.canvasToMapX(TouchInput.x);
  4.                 var y = $gameMap.canvasToMapY(TouchInput.y);
  5.                
  6.     }

复制代码
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-14 13:23

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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