作者 主题: 如何通过声音用procesing控制一张图片上下飞动  (阅读 10928 次)

伊猫w

  • Newbie
  • *
  • 帖子: 8
如何通过声音用procesing控制一张图片上下飞动
« 于: 六月 11, 2013, 09:48:09 上午 »
       大家好。我是在校的一个学生,我们在做一个小游戏,具体的功能就是,让一个小飞机,就是一张图片,能随着音调的变化而上下飞动。请问在processing中如何实现。我们找了很多,但大多数processing都是做声音的可视化的,这又不是我们想要的,求解答。。
        在这个小游戏里面,大概类似的效果我传到附件上了,问题就是。对着麦克风发出声音,飞机就会上下飞动,问题是,这只飞机很不稳定,晃啊晃,很多虚影。

     
       
« 最后编辑时间: 六月 11, 2013, 08:08:52 下午 作者 伊猫w »

vinjn

  • SuperManager
  • Hero Member
  • *****
  • 帖子: 586
Re: 如何通过声音用procesing控制一张图片上下飞动
« 回复 #1 于: 六月 11, 2013, 09:49:39 上午 »
让我们将问题分解:
1)如何获取声音
2)如何处理声音
3)如何显示飞机

你是在哪个步骤有问题

vinjn

  • SuperManager
  • Hero Member
  • *****
  • 帖子: 586
Re: 如何通过声音用procesing控制一张图片上下飞动
« 回复 #2 于: 六月 11, 2013, 09:51:48 上午 »
用minim检测麦克风的声音大小
http://www.hudo.it/index.php/topic,18.0.html

这个代码你会需要

Contra

  • SuperManager
  • Sr. Member
  • *****
  • 帖子: 347
  • AC, game dev, new media art&tech.
    • i'm Contra
Re: 如何通过声音用procesing控制一张图片上下飞动
« 回复 #3 于: 六月 11, 2013, 12:21:07 下午 »
请参考传说中的p5声控游戏:麦当劳大战肯德基

伊猫w

  • Newbie
  • *
  • 帖子: 8
Re: 如何通过声音用procesing控制一张图片上下飞动
« 回复 #4 于: 六月 11, 2013, 12:36:36 下午 »
让我们将问题分解:
1)如何获取声音
2)如何处理声音
3)如何显示飞机

你是在哪个步骤有问题

我的问题,应该是第二个吧,我刚刚又重新传了一个附件,那个是我们现在弄出来的,能做出来的效果,望大神看看,帮我们修改一下。究竟问题是出在哪里。我们预设的那个飞机随着声音高低飞的时候会出现很多虚影

agalloch21

  • Newbie
  • *
  • 帖子: 27
  • 非典型性程序员, 谁用谁知道~
    • XXX
Re: 如何通过声音用procesing控制一张图片上下飞动
« 回复 #5 于: 六月 11, 2013, 12:43:16 下午 »
飞机移动的位置用lerp()插值一下
Email: agalloch21@Gmail.com
Blog: www.agalloch21.com

伊猫w

  • Newbie
  • *
  • 帖子: 8
Re: 如何通过声音用procesing控制一张图片上下飞动
« 回复 #6 于: 六月 11, 2013, 01:05:55 下午 »
请参考传说中的p5声控游戏:麦当劳大战肯德基


貌似找不到这个游戏啊。能发个链接或者源代码吗?

Contra

  • SuperManager
  • Sr. Member
  • *****
  • 帖子: 347
  • AC, game dev, new media art&tech.
    • i'm Contra
Re: 如何通过声音用procesing控制一张图片上下飞动
« 回复 #7 于: 六月 11, 2013, 02:32:59 下午 »
请参考传说中的p5声控游戏:麦当劳大战肯德基


貌似找不到这个游戏啊。能发个链接或者源代码吗?

http://www.shanghaigamejam.com/work/mcdonalds-joker-fighting-with-kfc-grandfather/
似乎是声音用来发大招,不是控制飞行。not sure

伊猫w

  • Newbie
  • *
  • 帖子: 8
Re: 如何通过声音用procesing控制一张图片上下飞动
« 回复 #8 于: 六月 11, 2013, 03:15:47 下午 »
飞机移动的位置用lerp()插值一下

不太明白,这个函数是什么意思呢?我们是新手。。。才刚学,能再说详细点吗?小女子谢天谢地,感恩戴德啊

vinjn

  • SuperManager
  • Hero Member
  • *****
  • 帖子: 586
Re: 如何通过声音用procesing控制一张图片上下飞动
« 回复 #9 于: 六月 11, 2013, 03:34:59 下午 »
请参考传说中的p5声控游戏:麦当劳大战肯德基


貌似找不到这个游戏啊。能发个链接或者源代码吗?

http://www.shanghaigamejam.com/work/mcdonalds-joker-fighting-with-kfc-grandfather/
似乎是声音用来发大招,不是控制飞行。not sure

是发大招。。。不过你跑题有点远。。。

伊猫w

  • Newbie
  • *
  • 帖子: 8
Re: 如何通过声音用procesing控制一张图片上下飞动
« 回复 #10 于: 六月 11, 2013, 04:34:47 下午 »
请参考传说中的p5声控游戏:麦当劳大战肯德基


貌似找不到这个游戏啊。能发个链接或者源代码吗?

http://www.shanghaigamejam.com/work/mcdonalds-joker-fighting-with-kfc-grandfather/
似乎是声音用来发大招,不是控制飞行。not sure

是发大招。。。不过你跑题有点远。。。

是啊,不过同样都很感谢大家,在看processing的时候至少没有那么无助了,有大家的帮助还能找到学习下去的动力

伊猫w

  • Newbie
  • *
  • 帖子: 8
Re: 如何通过声音用procesing控制一张图片上下飞动
« 回复 #11 于: 六月 11, 2013, 09:04:11 下午 »
用minim检测麦克风的声音大小
http://www.hudo.it/index.php/topic,18.0.html

这个代码你会需要

今天您给的这一段代码我们确实用上了,在这个代码的基础上修改之后我们的小飞机已经能达到预期的效果。
额,另外我还想问一下,
1、场景往后面退的时候,我的飞机要跟上下的障碍物发生碰撞,然后结束游戏的话,那个代码怎么写。
2、如果中途突然跑出来一些障碍物这个怎么弄,就是想让飞机如果撞上障碍物的话会爆炸然后结束代码之类的。
3、如果我们想在游戏之前插入一个开场动画,比如用flash做的一个放飞小飞机的动作,这个可以实现吗?

您看,有没有什么类似的代码可以供我们参考的。谢谢了。
今天在您的帮助下,我们的游戏终于取得了一些进展,谢谢您的帮助。还有以上三个小问题。谢谢了,~~~~(>_<)~~~~

agalloch21

  • Newbie
  • *
  • 帖子: 27
  • 非典型性程序员, 谁用谁知道~
    • XXX
Re: 如何通过声音用procesing控制一张图片上下飞动
« 回复 #12 于: 六月 11, 2013, 09:50:29 下午 »
飞机移动的位置用lerp()插值一下

不太明白,这个函数是什么意思呢?我们是新手。。。才刚学,能再说详细点吗?小女子谢天谢地,感恩戴德啊


额. 我理解的你的问题是飞机一直在闪, 一会在这出现一会在那出现.
我觉得原因应该是你没有做防抖动. 比如假设你的声音是40分贝, 飞机在400的高度, 瞬间声音高到80分贝, 飞机就会瞬间出现在800的高度. 优化的方法简单点的就是让这个飞机不要在瞬间移动到目的地, 比如在1秒钟内才会从400的高度升到800的高度.  lerp()是个插值函数, 就可以干这个.
Email: agalloch21@Gmail.com
Blog: www.agalloch21.com

伊猫w

  • Newbie
  • *
  • 帖子: 8
Re: 如何通过声音用procesing控制一张图片上下飞动
« 回复 #13 于: 六月 11, 2013, 10:44:48 下午 »
飞机移动的位置用lerp()插值一下

不太明白,这个函数是什么意思呢?我们是新手。。。才刚学,能再说详细点吗?小女子谢天谢地,感恩戴德啊


额. 我理解的你的问题是飞机一直在闪, 一会在这出现一会在那出现.
我觉得原因应该是你没有做防抖动. 比如假设你的声音是40分贝, 飞机在400的高度, 瞬间声音高到80分贝, 飞机就会瞬间出现在800的高度. 优化的方法简单点的就是让这个飞机不要在瞬间移动到目的地, 比如在1秒钟内才会从400的高度升到800的高度.  lerp()是个插值函数, 就可以干这个.

哦哦,不是。不过也谢谢你。今天早上那个问题我已经解决了,还有三个问题。就是上面那个帖子有提到的三个不懂的地方
1、场景往后面退的时候,我的飞机要跟上下的障碍物发生碰撞,然后结束游戏的话,那个代码怎么写。
2、如果中途突然跑出来一些障碍物这个怎么弄,就是想让飞机如果撞上障碍物的话会爆炸然后结束代码之类的。
3、如果我们想在游戏之前插入一个开场动画,比如用flash做的一个放飞小飞机的动作,这个可以实现吗?
还麻烦您指点指点

vinjn

  • SuperManager
  • Hero Member
  • *****
  • 帖子: 586
Re: 如何通过声音用procesing控制一张图片上下飞动
« 回复 #14 于: 六月 13, 2013, 01:08:10 下午 »
你要实现的功能我在《麦叔叔大战肯爷爷》都有实现

https://github.com/vinjn/processing_sketch/tree/master/McDonalds_vs_KFC

代码很长,但是很完整
如果在尝试理解后,依然有问题,那么欢迎你提问
如果你的提问质量高,那么我会很乐意地回答

Tags: