视觉传达范畴互动新媒体应用分析-Arduino.Wiring.BUGbase.Processing.ActionScript.Wii.

星期六, 三月 01, 2008

艺术系的互动入门-11-Flash实例:吹个球-D:代码详解

吹球可真是一个简陋的范例呐。

虽然用传感器,Flash做创作没用多高超的互动技术,但想想看技术也不是决定作品成功与否的关键因素。写实派画家和抽象派画家就没有比较的意义嘛(其实可以比比收入)。而用不同的传感器可以搞出很多花样:用红外传感实现定点跟踪,使用超声波测量距离,压力传感器感受力度等等。有了它们做形式上的辅助技术再差也不怕了。

接下来要对Flash范例中的代码做做说明,看看运作原理,再动动手尝试。理论而言这一节需要基础的Flash绘画和代码写作经验,如果没有也OK。因为这里有两种弥补办法:1,请查看在前几节里推荐的那套又有趣又简单的台湾Flash教程。2,请身边的Flash使用者帮忙写代码完成(这些代码即使是Flash初学者也会觉得毫无挑战性)。

--------------------------------------------------------------------------------------------------------------------------
本节范例下载: arduinoVSflash_1.fla(使用Flash 8.0或更高版本打开)

代码详解
下载文件后用Flash 8.0或更高版本打开,在菜单栏中依次选择"窗口","动作"调出显示代码的窗口。鼠标点选code图层后代码出现。
这一陀代码中只需要注意中文标注的地方,如下:

//实例演示开始----------------------------------------------------
//以下为两个实例,1为改变ball的透明度,2为改变ball的大小
_global.ArduinoInt = data;
//首先把从arduino传来的数据赋予ArduinoInt

ball._alpha = ArduinoInt;
//1,改变ball的透明度。它的透明度由ArduinoInt的数值大小决定。

ball._xscale = ball._yscale=_global.ArduinoInt;
//2,改变ball的大小。它的大小由ArduinoInt的数值大小决定。
//实例演示结束----------------------------------------------------


看到在一大陀代码中需要关注的只有短短3行是不是大舒一口气?更开心的在下面,我们来一行一行解释.

第1行:
_global.ArduinoInt = data;
传感器的作用就是采集环境变化转化成我们需要的数值,也就是本行里的data。超声波传感器传来的远近是data,湿度传感器感受到的湿度变化也是data,所有传感器送过来的都是data,而我们的互动正是由data开始。

第2行:
ball._alpha = ArduinoInt;
读过初中英语就能看懂上面的单词,ball就是球了,视觉窗口上黑糊糊的那个;alpha是透明;ArduinoInt就是数据data。
结合在一起读读看:“球透明等于数值”。是不是很不通顺?动用情商理顺语句后就是:“球的透明度等于传感器的数值”。通了。
也就是说,在你用手捏湿度传感器时,手上的湿度越高,传感器采集的数值越高,球的透明度数值就越高。如果希望透明度不要改变的太快,可以这么写代码:
ball._alpha = ArduinoInt/2;
ArduinoInt变成了ArduinoInt/2,即是说数值减半,想要获得之前的透明度就要让自己变的更加湿润才行。。。。

第3行:
ball._xscale = ball._yscale=_global.ArduinoInt;
ball当然还是球;scale是管拉伸缩小的;合在一起读:“小球x方向的拉伸范围与y方向的拉伸范围都由传感器的数值决定”。在初中数学课上我们就学过,x代表横向y代表竖向。是不是又通了?
试试看把代码改写成以下是什么效果:
ball._xscale = ball._yscale=_global.ArduinoInt/2;

第4行:
ball._x= ball._y=_global.ArduinoInt;
完成上面的3行学习就有奖励,把这行特别赠送的代码复制进去看看效果吧。

把声音和更丰富的动画与传感器数值结合起来的例子?
看你的了,,,

---------------------------------------------------------------------------------------------------------------------------

了解了Arduino与Flash的沟通方法后,接下来要做的就是开学Flash动画制作和Flash代码(Action Script)编写,掌握了它们才能让灵感变为作品,在初学互动的此时不必计较更高级的技术,请多多发挥更加珍贵的灵感吧。

“Flash实例:吹个球的讲解”也到此结束,文章不通顺的地方要靠大家留言指出了,谢谢~

^_^

湿度传感器+Arduino+Flash+水

没有评论: