Max:远程信息

16mRemoteMessaging.maxpat
16mRemoteMessaging.maxpat

1. 除了使用连线的方式,我们还可以使用send和recieve物件传递信息。这可以免去过多连线造成视觉混乱的弊端。

2. 与send物件同名的所有receive物件都将接收到同名send传送的信息并同时做出相应改变。这种效应在教程中被称为“广播”(Broadcast)。注意,同名send发送的消息会被整个Max环境中的所有同名receive接收到,包括其他patcher里的receive。新建一个patcher,可以实验一下。send和receive在物件内可以分别缩写为s和r。

3. slider那组例子中,set $1是数字框的一个message,它储存并显示当前数字,但并不触发output。这应该是之前的知识,只是我忘了,所以补充一下。

4. 另一种传送远程信息的方式是运用消息框,在希望传送的名称前加上分号(;),比如 ;bob 155 就等于将值155传送到任何以bob命名的receive物件。演示patcher左下角那个绿色消息框就是个很好的例子。点击它,看结果。

5. 运用forward物件可以分配send的讯息流向。

6. 一个没有名称的receive物件可以接收来自任何send物件或以上方式远程传送的讯息。set讯息可以对receive物件实施更名,因此它可以监听patcher内不同的部分。例子中forward隔壁就是这样一个receive物件。选择一个不存在的名称将切断它的监听动作,注意只有未命名的receive物件才会有输入口。

7. 右上角的例子,int和float物件,左输入设定并输出一个值,右输入设定储存但并不输出一个值(这个值需由一个经左输入触发的bang输出,例如例子中的按钮)。第一次bang将输出它们的初始值,也就是它们的引数。

8. value物件,类似一个int/float物件及send/receive组合的合体,每一组value物件都有一个名字(本例中为joe),任何一个value物件的值都将被其他同名value物件共享,改动本例其中一个value物件的值,然后bang另外一个,看看得到的是不是同样的值。value物件可以接受除整数、浮点数以外的任何类型的讯息,包括符号和list。

本例内新物件:
send:无线传输信息
receive:无线接收信息
forward:向多个物件传输远程信息
int:储存一个整数值
float:储存一个小数
value:与其它物件共享一个储存的数字

Be Sociable, Share!

《Max:远程信息》有一个想法

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.