如何将QQ空间亮闪闪的Flash星星和文字放一起呢

如何将QQ空间亮闪闪的Flash星星和文字放一起呢,第1张

你好。你说的FLASH和文字放在一起。那个只是效果。其实,FLASH和那些字是分开的。(他们是两种性质的模块)不能放在一起?还是你其中一个模块盖住了另外一个模块。让你只看到其中一个模块的。你FLASH要设置透明。 如果还不明白,再问吧。

1、打开flash 软件,点击我的文档,打开工作界面。点击属性面板,把编辑界面的颜色为黑色。左键对准矩形工具,按住不动,这时候就出现一个小工具面板,在里面选择“多角星形工具”。在属性面板里找到<<选项>>.然后点击选项,多边形改成《星形》。《星形顶角大小》改成《0.20>.《边数》改成《4》。颜色改成《放射状》。颜色为灰色。在编辑区内画一个,4变形的星形。

2、画完以后,点击第一帧再点击上面的《修改》《分离》然后点击第十帧插入关键帧。同样点击修改--分离。然后调整透明度为零。

3、再点击第20帧,右键点击插入关键帧,同样点击修改--分离,调整透明度为100.。然后点击第10帧,添加形状补间。点击第20帧,添加形状补间动画。然后测试影片,保存为jif动画。

4、点击第5帧,在属性面板,《补间》里点击形状补间。再点击第15帧,在下面的《补间》里点击形状补间。然后点击《控制》测试影片,保存为gif 动画。

首先是要绘制星星,在flash中有绘制星形的工具,那么用代码是怎么实现呢?星形实则是规则的凸多边形。因为是规则的画的时候只要依次算出凹点的坐标和凸点的坐标,就可以画出星形了。代码如下:

package 

{

import flash.display.Shape

import flash.events.Event

public class star extends Shape

{

private var alp:Number = 0//透明度变化量

public var speed:int = Math.random ()*10+10//随机速度

//参数分别是:小半径,大半径,边数,填充色,透明值,弧度

public function star(r:Number ,R:Number ,n:int ,fillcolor:uint ,alp:Number ,a:Number =0)

{

this.graphics.moveTo(r,0)

//开始填充

this.graphics.beginFill(fillcolor,alp)

for (var i:Number =0 i<n i++)

{

a +=  Math.PI / n

this.graphics.lineTo(R*Math.cos (a),R*Math.sin(a))

a +=  Math.PI / n

this.graphics.lineTo(r*Math.cos (a),r*Math.sin(a))

}

}

}

}

下面我们再来补上闪烁的代码:

package 

{

import flash.display.Shape

import flash.events.Event

public class star extends Shape

{

private var alp:Number = 0//透明度变化量

public var speed:int = Math.random ()*10+10//随机速度

//参数分别是:小半径,大半径,边数,填充色,透明值,弧度

public function star(r:Number ,R:Number ,n:int ,fillcolor:uint ,alp:Number ,a:Number =0)

{

this.graphics.moveTo(r,0)

//开始填充

this.graphics.beginFill(fillcolor,alp)

for (var i:Number =0 i<n i++)

{

a +=  Math.PI / n

this.graphics.lineTo(R*Math.cos (a),R*Math.sin(a))

a +=  Math.PI / n

this.graphics.lineTo(r*Math.cos (a),r*Math.sin(a))

}

this.addEventListener(Event.ENTER_FRAME,loopAlp)

}

private function loopAlp(e:Event ):void

{

this.rotation +=  Math.random() * 20 - 10

if (this.alpha > 0.9)

{

alp = 0

}

else if (this.alpha <=0.0)

{

alp = 1

}

this.alpha +=  (alp - this.alpha) / speed//渐变透明度(代码实现淡入淡出的一种方法)

//trace(sta.alpha )

}

}

}

上面的2个实例是actionscript3.0类文档,保存名为:star.这个类做好了,在flash中运用也是非常简单的,新建一个actionscript3.0文件,给它绑定一个名为:flie.的类文档(别告诉我你不会!真的不会?再问!)。在文档中输入代码:

package 

{

import flash.display.Sprite

public class flie extends Sprite

{

public function flie()

{

for (var i:int=0 i<17 i++)

{

var r:Number = Math.random() * 1 + 2

var R:Number = Math.random() * 4 + 7

var n:Number = Math.floor(Math.random() * 9) + 4

var u:uint = Math.floor(Math.random() * 0xffffff) | 0xcccccc

var al:Number = Math.random() * 1.5 + 0.5

var sta:star = new star(r,R,n,u,al)

sta.x = Math.random() * stage.stageWidth

sta.y = Math.random() * stage.stageHeight / 2

addChild(sta)

}

}

}

}

全部保存,测试影片,这是你想要的效果吗?

a,太复杂了,我看不懂,能解释一下代码含义吗?

b,我对as3.0不感兴趣!

c,这更本不是我想要看的的效果,答非所问!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11880355.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存