Redian新闻
>
请教一个变形问题(update)
avatar
请教一个变形问题(update)# Flash - 闪客一族
f*d
1
我想做一个从圆的半径,逐渐展开变成正圆的movie,我考虑应该是个简单的shape
tween, 做了才发现没那么简单,
我加了hint,也还是不对,不知道我错在哪了呢?
avatar
l*e
2
shape tween in flash sometimes is unpredictable.
this will be easier if you use mask.

【在 f*********d 的大作中提到】
: 我想做一个从圆的半径,逐渐展开变成正圆的movie,我考虑应该是个简单的shape
: tween, 做了才发现没那么简单,
: 我加了hint,也还是不对,不知道我错在哪了呢?

avatar
f*d
3
in my particular case, even if I use mask, I still didn't get it the point.
Your mean mask can be tweened
predictablely?

【在 l****e 的大作中提到】
: shape tween in flash sometimes is unpredictable.
: this will be easier if you use mask.

avatar
l*e
4
用mask的好处是,mask用来决定形状,而且是不用animation的
然后下面的东西就可以想办法利用motion tween来代替shape tween
motion tween基本上是可以控制的。
我简单地做了个例子,可能不是最优解决办法,我随便想的。
http://www.sfarmy.net/temp/test/circle/testcircle.swf
http://www.sfarmy.net/temp/test/circle/testcircle.fla

.

【在 f*********d 的大作中提到】
: in my particular case, even if I use mask, I still didn't get it the point.
: Your mean mask can be tweened
: predictablely?

avatar
r*y
5
不懂,什么叫从圆的半径变成正圆?
小圆变大圆?

【在 f*********d 的大作中提到】
: 我想做一个从圆的半径,逐渐展开变成正圆的movie,我考虑应该是个简单的shape
: tween, 做了才发现没那么简单,
: 我加了hint,也还是不对,不知道我错在哪了呢?

avatar
r*y
6
刚才好像误操作删了你的文章,对不起。
你刚才的帖子说,你猜测是扇形旋转出圆。

【在 l****e 的大作中提到】
: 用mask的好处是,mask用来决定形状,而且是不用animation的
: 然后下面的东西就可以想办法利用motion tween来代替shape tween
: motion tween基本上是可以控制的。
: 我简单地做了个例子,可能不是最优解决办法,我随便想的。
: http://www.sfarmy.net/temp/test/circle/testcircle.swf
: http://www.sfarmy.net/temp/test/circle/testcircle.fla
:
: .

avatar
r*y
7
mask也可以用作animation。这里不用而已。
这个题目不错,所以我也做了一个。思路是这样的:用一个半圆作mask遮住另一个旋转
的半圆,这样可以转出180度扇形。180度之后呢,mask翻转到圆的另一半,原来旋转的
继续旋转,已经出现的半圆用另一个半圆顶替着,这样看起来就转出了整个圆。
所有的animation都用actionscript做出,没用任何tween。
onClipEvent (enterFrame) {
i = getProperty(this, _rotation);
if ((i<180) && (_root.count<36)) {
setProperty(this, _rotation, i+10);
_root.count++;
} else {
if (_root.count<36) {
_root.mask._yscale *= -1;
_root.mask2._alpha = 100;
setProperty(this, _rotation, i+10);
_root.count++;
}
}
}

【在 l****e 的大作中提到】
: 用mask的好处是,mask用来决定形状,而且是不用animation的
: 然后下面的东西就可以想办法利用motion tween来代替shape tween
: motion tween基本上是可以控制的。
: 我简单地做了个例子,可能不是最优解决办法,我随便想的。
: http://www.sfarmy.net/temp/test/circle/testcircle.swf
: http://www.sfarmy.net/temp/test/circle/testcircle.fla
:
: .

avatar
f*d
8
感谢,感谢,就是我想要的效果!
发现我的逻辑思维和语言表达能力都有待提高,呵呵~

【在 l****e 的大作中提到】
: 用mask的好处是,mask用来决定形状,而且是不用animation的
: 然后下面的东西就可以想办法利用motion tween来代替shape tween
: motion tween基本上是可以控制的。
: 我简单地做了个例子,可能不是最优解决办法,我随便想的。
: http://www.sfarmy.net/temp/test/circle/testcircle.swf
: http://www.sfarmy.net/temp/test/circle/testcircle.fla
:
: .

avatar
l*e
9
mask是可以做animation,不过能省则省,呵呵
其实你的思路跟我做得差不多,只不过我分成1/4圆,看起来没必要
pf可以用as直接写动画的人,我一直不知道这个怎么实现-.=

【在 r****y 的大作中提到】
: mask也可以用作animation。这里不用而已。
: 这个题目不错,所以我也做了一个。思路是这样的:用一个半圆作mask遮住另一个旋转
: 的半圆,这样可以转出180度扇形。180度之后呢,mask翻转到圆的另一半,原来旋转的
: 继续旋转,已经出现的半圆用另一个半圆顶替着,这样看起来就转出了整个圆。
: 所有的animation都用actionscript做出,没用任何tween。
: onClipEvent (enterFrame) {
: i = getProperty(this, _rotation);
: if ((i<180) && (_root.count<36)) {
: setProperty(this, _rotation, i+10);
: _root.count++;

avatar
z*e
10
不错。我也帖一个方法,也是用actionscript,思路是这样,切割圆的一部分,就是一
个2°角以上的扇形,做成一个movieclip,在linkage里面给一个identifier "circle"
。然后可以用setInterval或enterframe的功能,attachMovie,按顺序将这个mc粘贴到
stage,每个旋转2°,180次后就成一个圆了。
这是code:
var local = this;
var circleDuration:Number = 5;
var circleHolder = this.createEmptyMovieClip("circleHolder",100);
circleHolder._x = 125;
circleHolder._y = 125;
var i:Number = 0;
var intervalID = setInterval(buildCircle,circleDuration);
function buildCircle(){
if(i == 180){
clearInterval(interva

【在 r****y 的大作中提到】
: mask也可以用作animation。这里不用而已。
: 这个题目不错,所以我也做了一个。思路是这样的:用一个半圆作mask遮住另一个旋转
: 的半圆,这样可以转出180度扇形。180度之后呢,mask翻转到圆的另一半,原来旋转的
: 继续旋转,已经出现的半圆用另一个半圆顶替着,这样看起来就转出了整个圆。
: 所有的animation都用actionscript做出,没用任何tween。
: onClipEvent (enterFrame) {
: i = getProperty(this, _rotation);
: if ((i<180) && (_root.count<36)) {
: setProperty(this, _rotation, i+10);
: _root.count++;

avatar
r*y
11
好啊,各显神通。

circle"

【在 z****e 的大作中提到】
: 不错。我也帖一个方法,也是用actionscript,思路是这样,切割圆的一部分,就是一
: 个2°角以上的扇形,做成一个movieclip,在linkage里面给一个identifier "circle"
: 。然后可以用setInterval或enterframe的功能,attachMovie,按顺序将这个mc粘贴到
: stage,每个旋转2°,180次后就成一个圆了。
: 这是code:
: var local = this;
: var circleDuration:Number = 5;
: var circleHolder = this.createEmptyMovieClip("circleHolder",100);
: circleHolder._x = 125;
: circleHolder._y = 125;

avatar
f*d
12
我按照L的方法做的,因为不会而且害怕写code, 不过我用的是半圆。 因为我想要的效
果是背景有点像老电影,我就用
旋转的圆型做背景,希望能有那种光影的效果,另外展开层我设了个alpha的值,然后
问题出来了,L的方法会有重复
的问题,两边颜色有差别。 R&Z的不存在这个问题。我想大家可能都没考虑过这个问题
,所以特意提一下。
另外,怎么才能做出我想要的背景效果呢?
avatar
r*y
13
你没表达清楚,我不明白你说有什么问题。什么重复的问题。

【在 f*********d 的大作中提到】
: 我按照L的方法做的,因为不会而且害怕写code, 不过我用的是半圆。 因为我想要的效
: 果是背景有点像老电影,我就用
: 旋转的圆型做背景,希望能有那种光影的效果,另外展开层我设了个alpha的值,然后
: 问题出来了,L的方法会有重复
: 的问题,两边颜色有差别。 R&Z的不存在这个问题。我想大家可能都没考虑过这个问题
: ,所以特意提一下。
: 另外,怎么才能做出我想要的背景效果呢?

avatar
f*d
14
为了显示是一个整圆,我分成两个半圆,右边有 mask, 左边没有。 当有mask的右边的
半圆转到另一边的时候和原来
左边的重合,因为我设了透明值,就看出左右颜色的区别了。你们用code没有这个问题。

【在 r****y 的大作中提到】
: 你没表达清楚,我不明白你说有什么问题。什么重复的问题。
avatar
l*e
15
我也没太懂。。。
你分别用两个mask是不是就不会有透明值得问题了?我原来是一个mask分几段的。

题。

【在 f*********d 的大作中提到】
: 为了显示是一个整圆,我分成两个半圆,右边有 mask, 左边没有。 当有mask的右边的
: 半圆转到另一边的时候和原来
: 左边的重合,因为我设了透明值,就看出左右颜色的区别了。你们用code没有这个问题。

avatar
f*d
16
是我表达错了,你们的都没问题。因为我想要的效果其实是把扇子合起来,逐渐漏出背
景的效果,而不是扇子展开。所
以我做的有这个问题。

【在 l****e 的大作中提到】
: 我也没太懂。。。
: 你分别用两个mask是不是就不会有透明值得问题了?我原来是一个mask分几段的。
:
: 题。

avatar
r*y
17
这其实一样的啊。

【在 f*********d 的大作中提到】
: 是我表达错了,你们的都没问题。因为我想要的效果其实是把扇子合起来,逐渐漏出背
: 景的效果,而不是扇子展开。所
: 以我做的有这个问题。

avatar
z*e
18
兄弟表达确实让看不懂,你把你的源文件附上吧

【在 f*********d 的大作中提到】
: 是我表达错了,你们的都没问题。因为我想要的效果其实是把扇子合起来,逐渐漏出背
: 景的效果,而不是扇子展开。所
: 以我做的有这个问题。

avatar
f*d
19
请点开名为rotation的movie, test scene 就能看到两边颜色有区别。
老天开眼吧,让前辈看懂我说的是什么吧-.-!!

【在 z****e 的大作中提到】
: 兄弟表达确实让看不懂,你把你的源文件附上吧
avatar
r*y
20
我一直觉得很奇怪啊,telnet下没法直接点附件link下载,非得www打开整个页面
才行。

【在 f*********d 的大作中提到】
: 请点开名为rotation的movie, test scene 就能看到两边颜色有区别。
: 老天开眼吧,让前辈看懂我说的是什么吧-.-!!

avatar
r*y
21
我知道你这个问题在哪里了。
有透明度的东西,就不能重叠。你这个转出来的东西一边转一边和别人重叠,所以不行。

【在 f*********d 的大作中提到】
: 请点开名为rotation的movie, test scene 就能看到两边颜色有区别。
: 老天开眼吧,让前辈看懂我说的是什么吧-.-!!

avatar
f*d
22
谢天谢地!我说了半天就是想说这个啊,虽然不仔细看也不太看的出来。

行。

【在 r****y 的大作中提到】
: 我知道你这个问题在哪里了。
: 有透明度的东西,就不能重叠。你这个转出来的东西一边转一边和别人重叠,所以不行。

avatar
r*y
23
差不多,改了一下。
这个已经是透明的了。

【在 f*********d 的大作中提到】
: 谢天谢地!我说了半天就是想说这个啊,虽然不仔细看也不太看的出来。
:
: 行。

avatar
z*e
24
呵呵,看了你的动画才明白他的意思。

【在 r****y 的大作中提到】
: 差不多,改了一下。
: 这个已经是透明的了。

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。