小白问个问题
processing吧
全部回复
仅看楼主
level 1
我写成class的格式,然后这个SounFile就报错了,请问这是什么问题
2018年10月20日 02点10分 1
level 7
Hello,@哦也辉哥万岁。
这个问题理解起来并不难。主要的一点是,你得理解 this 关键字的用法。
this,顾名思义,这,这个,指的是本,此。
this 关键字是 Java 常用的关键字,可用于任何实例方法内指向当前对象,也可指向对其调用当前方法的对象,或者在需要当前类型对象引用时使用。因此,与 Processing 中:
① 它在主标签中,this 即指向 Processing sketch。
这你查看 SoundFile(parent, path) 的参数解释就明白了,网址(https://processing.org/reference/libraries/sound/SoundFile.html):
Parameters:
parent PApplet:通常使用“this”
path String:需要加载的声音文件的文件名
② 它在 class 中,this 的用法和 Java 中 this 的应用一致:
(1) this调用本类中的属性,也就是类中的成员变量;
(2) this调用本类中的其他方法;
(3) this调用本类中的其他构造方法,调用时要放在构造方法的首行。
也这是你遇到的报错产生的原因。你写在类中的 SoundFile(this, …) 中的 this 指的是该类,而非 Processing sketch。
修改办法:
Ⅰ 将加载音频的代码放置到 setup() 方法之中,只要你将其设置为全局变量,在你编写的类中亦可正常使用;
Ⅱ 利用构建方法传递 Processing sketch,其类型为 PApplet。示例如下:
欢迎关注:
Hewes 的知乎专栏:Hewes的编程艺术(https://zhuanlan.zhihu.com/c_123529691
Hewes 的CSDN博客:https://blog.csdn.net/HewesLet's enjoy creative programming!
2018年10月25日 08点10分 3
1