坐火车的感觉

————心理活动记录


想去旅游,在火车上晃荡的感觉立即呈现在眼前。我最喜欢坐在火车窗前,边思考,边欣赏窗外大小树木缓缓向后退去的感觉,如同观赏渐渐远去的往事,逝者如斯。这么想着下意识的用鼠标在电脑上随手画了棵树,如右。

离窗户越近的树,向后退去的速度越快,离窗户越远的,退去的速度越慢。哦,窗外树木的大小和退后的速度,是大地坐标的函数!在Flash里,是二维平面,只能是X、Y轴的函数,这样的情景可以用简单的线性关系表示,我这么想着,立刻选中小树,打开“动作-对象”面板敲出如下程序:

树(st)的三贞:

1、ran = random(35) + random(10);//随机
_x =200+ random(500);
_y = 140;
_xscale = 2 * ran;
_yscale = 2 * ran;
//下次加组 _alpha 如何? 应当更形象生动

2、_x = _x - 0.100000 * ran;

3、if (_x < -20)
{
gotoAndPlay(1);
}
else
{
gotoAndPlay(2);
}


上面三贞如果输出成动画,看到的只是一棵向左移动的树,移到尽头消失之后,第二棵树出现,也向左移动,只是根据出现位置远近的不同,树的大小和速度不同,画面很单调。(下面的画面,为了观察方便,对上面X、Y的坐标原点作了修改,所以有些异样:_x =-200; _y =30;)

如果上面的画面里什么也没有,那是因为正巧赶上随机函数式 ran = random(35) + random(10) 里两个random 都取值为0了,当然这样的概率是很小的,解决办法是“稍等”,或者刷新页面(刷新后还是全白的概率更小)。其实对上面函数式稍做修改:里面加个1

ran = random(35) + random(10)+1;

这样就彻底解决了问题,永远不会出现冷场的局面。但是,理论上,真实画面的生动性会逊色一些。

真实情况是树木成群,随机出现。干脆把上面三贞做成元件(起名为st),移到主场景中,令其不断自行复制,就会模拟出生动情景:

程序如下:

主场景:

startDrag("/star0", true);
for (starnum = 50; starnum > 0; starnum = starnum - 1)
{
duplicateMovieClip("/st", "st" && starnum, starnum);
}

生动多了吧,如同大雪原里看到的:

修饰之后:

有点象吧。当然还可以不断修改,再增加一些参数,比如 _alpha ,内容就会更加丰富多彩,待补。

这个动画里,边构思边做甩动马尾辫、挺胸而过小丫头的时候,真是笑弯了腰,哈哈哈哈………。叫老伴过来看,老伴戴上花镜看了半天,说“神经病!”,扭头就走。

现在就是常常这样边画,边写,边胡斯乱想,还挺高兴。

上面只是如实记录了和做Flash有关的内容,其实这期间瞎胡乱想的内容还多,没写出来。

电脑给我带来了无穷乐趣!我的宝贝电脑。

2006年9月16日