[flash]拉覇效果的banner partII


第一版會當掉的問題應該是flash的tween的問題了
今天google了一下換tweener來試了一下
目前是沒有發生同樣的情形
不愧是高手高高手開發的東西阿

tweener還提供許多動態路線可以使用(這邊也有)
能做的當然也不只位移
模糊 大小 比例 透明 顏色….都可以
不過有的要先初始化才能控制到
像是要控制BLUR的話要先FilterShortcuts.init()
要控制COLOR的話要先ColorShortcuts.init()
不過每初始化一樣都會增加SWF的大小
可以參考節自官網的下表

Class path and nameDescriptionApproximate addition to SWF size
caurina.transitions.properties.ColorShortcutsIncludes properties for manipulating the color of display objects, such as individual channel multiplier and offsets, and special coloring such as hue, saturation, brightness and contrast.2.2 kb
caurina.transitions.properties.CurveModifiersModifiers that provide some kind of change for normal tweenings; right now, the bezier curve only.0.4 kb
caurina.transitions.properties.DisplayShortcutsSpecial properties for display objects such as Sprites, MovieClips, and TextField instances, include modifiers for visibility, frame position, and scrollRect size.0.8 kb
caurina.transitions.properties.FilterShortcutsA list of special properties that simplify the tweening of the built-in bitmap filters such as Blur, Glow, and many others.3.5 kb
caurina.transitions.properties.SoundShortcutsSpecial properties used when controlling sound.0.2 kb
caurina.transitions.properties.TextShortcutsAdditional special properties used to change some specific TextField properties, such as TextFormat properties, and the text content itself.0.9 kb

還有一個很方便的是它連EventListener也內建了
很容易就可以呼叫下一個動作並帶入參數
加上延遲的時間
很直覺性的可以做出希望完成的動作~

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import caurina.transitions.Tweener;
import caurina.transitions.properties.FilterShortcuts;
FilterShortcuts.init();
stage.frameRate =30;
 
var blurMax:Number = 64;
var loopMax:Number = 3;
var stopArr :Array = new Array("",-142,-99,-51,0);
var atArr :Array = new Array("","44444","33333","22222","11111");
var newgoAt:Number;
function init():void {
	for (var i=1; i<=5; i++) {
		var tmc:MovieClip = this["mov"+i+"_mc"];
		tmc.gotoAndStop(i);
	}
	movebar();
	newgoAt = 1;
	var playbar = setInterval(movebar , 6000);
}
 
 
function movebar():void {
	newgoAt ++;
	newgoAt = newgoAt >4? 1:newgoAt;
	for (var i=1; i<=5; i++) {
		var tmc:MovieClip = this["mov"+i+"_mc"];
		tmc.looptime = 0;
		setTimeout(next1,300*i,tmc);
	}
}
 
function next1(m:MovieClip):void {
	Tweener.addTween(m, {y:100, time:1, transition:"easeInQuint", onComplete:next2,onCompleteParams:[m]});
	Tweener.addTween(m, {_Blur_blurY:4, time:2.5, transition:"easeInQuint", onComplete:next2,onCompleteParams:[m]});
}
function next2(m:MovieClip) {
	m.y = -140;
	if(m.looptime<loopMax){
		m.looptime++;
		Tweener.addTween(m, {y:150, time:0.5, transition:"linear"});
		Tweener.addTween(m, {_Blur_blurY:blurMax, time:0.5, transition:"linear", onComplete:next2,onCompleteParams:[m]});
	}else{
		next3(m);
	}
}
 
function next3(m:MovieClip) {
	var num:Number = int(m.name.substr(3,1))-1;
	var stopAt:Number = stopArr[atArr[newgoAt].substr(num,1)];
	m.y = stopAt-150;
	Tweener.addTween(m, {y:stopAt, time:0.5, transition:"easeOutExpo"});
	Tweener.addTween(m, {_Blur_blurY:0, time:0.5, transition:"easeOutExpo"});
}
 
init();

改用tweener後程式碼感覺也簡單多了~

說點什麼吧!

141 個留言

您好~可以提供範例檔參考嗎?謝謝!

 
 

大大, 可以請你將範例源碼寄給我學習嗎?謝謝

 
 

感謝高手賜教,我也想要學,勞煩你了,謝謝!
haw175@yahoo.com.tw

 
 

還有再給原始檔嗎最近有需要拿來研究
ilovetp6u83jp6@yahoo.com.tw

 
 

這範例真的很厲害,
可以轉寄原始檔範例給我學習嗎?
我的EMAIL:
yuhrenhuang@yahoo.com.tw

 
 

喔~超酷的~

最近都在研究 Tweener 的效果

不知道你可否寄
這個範例擋給我呢?

Thanks 啦~

 
 

我自己在做這個拉爸做個快炸掉了
正巧看到你的code
有沒有可能跟你要一下範例檔案研究一下呢?
daymonwu@yahoo.com.tw
謝謝捏

 
 

這位大大真是利害!
我找了好久這種效果教學!終於給我找到了!
但是搞了老半天還是搞不出來= =||a
在這懇請您分享一下範例檔給小弟研究研究!

真是太感謝您了!麻煩您了!

恩 可是你也沒留MAIL@@

真不好意思!我以為留言的EMAIL您看的到!!
在下EMAIL:
g8sam@msn.com

這是我自己做的邊學邊做的
http://cid-891e3e3eea624834.skydrive.live.com/self.aspx/.Public/%7C_solts.fla
請指教

恩 好我會寄給你
不過…檔案在日本的電腦而我….現在人在台灣了@@
要等一下囉^^"

 
 
 
 

大大!好好玩的東西喔!

不知道是否可以給我範例檔案
我想要學習看看!
謝謝您!

原來拉霸機的效果就是這樣做出來的喔!

可以是可以阿
但是你也沒有留MAIL!?

 
 

留言板RSS 引用 URI

說點什麼吧!