网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
05月21日
漏签
0
天
the_nvl_maker吧
关注:
2,495
贴子:
9,933
看贴
图片
吧主推荐
游戏
1
2
下一页
尾页
16
回复贴,共
2
页
,跳到
页
确定
<<返回the_nvl_maker吧
>0< 加载中...
关于制作一个简易的钢琴的思路与经验分享
取消只看楼主
收藏
回复
贴吧用户_QG7tKUb
亮了瞎了
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
在一天入睡之时,脑子突然蹦出这么一个想法,在自己的游戏里面添加一个小小的游戏——简易钢琴,充当自己在游戏里的小彩蛋。越想越兴奋的我,当晚便爬下了床,打开了电脑开始了尝试(结果当晚通宵了,,,)……
经过3天间断性(日常有事要处理)的设计后,总算完成,并且拥有存储记录的模块,还为每个存储记录添加了一个特征值,用来观(zhuang)赏(bi)性,并且也能用特征值来反向存储。下面开始正题。
贴吧用户_QG7tKUb
亮了瞎了
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
首先要设计一个简易的钢琴,就得先弄到钢琴键的声音,本人是从编曲软件那截出11个音,之后便是安放在地图(因为地图有16个按钮,养成只有10个,本人不想整系统的东西)那进行设计,然后模子就很简单的弄成了。
贴吧用户_QG7tKUb
亮了瞎了
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
但设计的问题出现了,如果这简易钢琴单单是及时演奏也就罢了,但本人不想就这样了事,所以我就设计了个保存的功能,用来记录之前自己按键顺序,然后在依次瞬间释放音调。这时候的问题就是用什么作为载体来承载信息?
这时我想起了小时候玩诺基亚的时候有一那么一个软件是通过按不同的键,然后进行记录一串的数字,之后再依照这数字顺序进行播放,那么,是否我也能这样做呢?
贴吧用户_QG7tKUb
亮了瞎了
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
通过这个基本的思路,我开始对数字做为载体进行尝试,但理论上是行不通的,因为就单是数字也就0到9,也就10个,但我的简易钢琴有11位,那如果将单位数字提升到两位数字呢?也就是从0到9的存储转变到00到99?
但这也是十分不适用,首先是存储的数,int类也就-2147483648~2147483647的范围,long long类的也只是-9223372036854775808到9223372036854775807(就目前我只在这个软件用到int类型的数),如果是两位数作为一个信息就让原本存储有限的信息大幅度缩水了,更何况00到99用到的只有0到10呢?
贴吧用户_QG7tKUb
亮了瞎了
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
就在我无奈之时,想起了字符串(string),字符串本身就是个数组,并且可通过[索引]的方式进行读取,但我不确定这软件是否能使用字符串的基本操作(之前有对数组试过一次,失败了,就觉得不能用,搞得我之前写的数据库时用了一堆奇奇怪怪的方法,现在回想就想骂自己为什么不多试试呢,之后还得回头改了)
万幸的是,还是能用数组的基本操作,如字符串的拼接,返回字符串长度等,这样一来就大幅度解决了之后写入读取钢琴音顺序的问题了,但有个缺陷就是无法改变节拍,但又因为自己不都懂乐理而且是简单钢琴就算了。
贴吧用户_QG7tKUb
亮了瞎了
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
好,使用字符串记录信息后,钢琴录制的长度问题也就解决了,接下来就是读取信息的问题,我这里是利用字符串的索引,套上循环,一个个提出字符进行条件对比来决定播放什么音调。好啦,简易钢琴集完成了,接下来是配套文件的设计了。。。
贴吧用户_QG7tKUb
亮了瞎了
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
制作了一个拥有15个空位的界面,并且支持在列表点播放
贴吧用户_QG7tKUb
亮了瞎了
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
当然,点进详细后,也可以在详细页面里进行播放了。也显示了简单加密后的特征值
贴吧用户_QG7tKUb
亮了瞎了
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
录制选项有三种。钢琴就是1楼图的样子,特征值则是进行输入特征值进行存储……
如图,因为自己不会重新设定一个输入框,就只能琢磨这样的了……话说,这有清屏指令嘛,我只能用载入同样的对话框来作为清屏……
最后根据输入的特征值进行保存了……
贴吧用户_QG7tKUb
亮了瞎了
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
而重置按钮呢,也就是清楚选项,用二次确认,确保(?)不会被误删
贴吧用户_QG7tKUb
亮了瞎了
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
至于脚本文件,则是写了4份,一一对应各个页面。。。。
贴吧用户_QG7tKUb
亮了瞎了
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
好了,以上就本次的经验分享了,虽然对于大佬来说可能不算什么,但有时候来找解决方案的时候找也找不着,也就只能自己慢慢试了。
虽说让我头疼的东西还很多,但这次的小尝试也让自己学习了很多。如果有什么问题就问吧,看到话就回的,,,
贴吧用户_QG7tKUb
亮了瞎了
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
以下是脚本的具体代码~
贴吧用户_QG7tKUb
亮了瞎了
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
由于是照顺序写代码,不免会越写越精简起来,其中有些臃肿的,有些祛除了,有些没有……
贴吧用户_QG7tKUb
亮了瞎了
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示