2011 本站教學範例已全面更新~ 新教學請看 http://www.flycan.com/article/   【到新的教學討論區】
【飛肯設計學苑】- 回首頁 -
回首頁最新開課訊息企業包班教育訓練範例教學區問題討論區交流分享區程式下載區
Photoshop影像達人專修班 Photoshop 遮色片 & 色版創作進階班 CSS 版面設計專修班 ActionScript 3.0 程式設計入門班 ActionScript & XML 進階整合應用班 Dreamweaver & CSS網頁版型設計班

 

本站已全面更新~ 2011年 新教學範例請看 → http://www.flycan.com/article/

 

【Flash ActionScript 教學】範例區
「Actionscript語法教學」物件變色?

發表新主題   回覆主題
【飛肯】教學網站 首頁 » 【Flash ActionScript 教學】範例區
上一篇主題 :: 下一篇主題  
發表人 內容
jhun1226
【三年級】
【三年級】


註冊時間: 2006-04-15
文章: 71

發表「Actionscript語法教學」物件變色? 引言回覆

發表於: 2006-05-02 19:46 
請問在主場景上有個a1_mc(紅色)跟s1_btn , s2_btn

我想點選s1_btn讓a1_mc"紅色慢慢的轉變到綠色"

選s2_btn讓a1_mc"慢慢的轉變到藍色"

"類似形狀漸變的變色"

請問要如何用程式寫???

謝謝~

回頂端
檢視會員個人資料 發送私人訊息
【姜】
【老師】
【老師】


註冊時間: 2005-12-01
文章: 1873

發表 引言回覆

發表於: 2006-05-02 20:13 
Flash 裡面的說明檔就是最棒的教學,同學有空要打開來看看喔~ OO

引言回覆:

Color.setRGB()

適用版本

Flash Player 5

用法

my_color.setRGB(0xRRGGBB)

參數

0xRRGGBB 是指要設定的十六進位或 RGB 顏色。RR、GG 和 BB 都各包含兩個十六進位的數字,用來指定每一個顏色組件的偏移值。0x 則是告訴 ActionScript 編譯器這個數字是十六進位的值。

說明

方法;指定 Color 物件的 RGB 顏色。 呼叫這個方法將會覆蓋前面所有的 Color.setTransform()

設定。

傳回值

範例

下面這個範例會為影片片段 my_mc 設定 RGB 顏色值。若需要查看這個程式碼的作用,請將實體名稱為 my_mc 的影片片段放在「舞台」上。然後將下列程式碼放在主要時間軸的影格 1 上,並選擇「控制>測試影片」。

my_color = new Color(my_mc);

my_color.setRGB(0x993366);

回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 MSN Messenger
行軍散
【班長】
【班長】


註冊時間: 2005-12-08
文章: 98

發表 引言回覆

發表於: 2006-05-02 23:23 
補充用程式來控制OO

自己寫一個轉換16進制的函式SetColorValue(r, g, b)可以將r,g,b代入0-255的值,在處理上較為方便....

影格1:

var tempcolor:Color; //顏色物件

var tempR:Number = 255; //暫存R值

var tempG:Number = 0; //暫存G值

var tempB:Number = 0; //暫存B值

var Gstate:Boolean = false; //控制按鈕變數

var Bstate:Boolean = false; //控制按鈕變數

tempcolor = new Color("m1_mc");

tempcolor.setRGB(0xff0000);

影格2:

stop();

s1_btn.onPress = function() {

Gstate = true;

};

s2_btn.onPress = function() {

Bstate = true;

};

//利用變數累加與累減造成漸變

_root.onEnterFrame = function() {

if (Gstate == true) {

tempG = tempG+5;

tempR = tempR-5;

tempB = tempB-5;

if (tempG>=255) {

tempG = 255;

Gstate = false;

}

if (tempR<=0) {

tempR = 0;

}

if (tempB<=0) {

tempB = 0;

}

tempcolor = new Color("m1_mc");

tempcolor.setRGB(SetColorValue(tempR, tempG, tempB));

}

if (Bstate == true) {

tempB = tempB+5;

tempG = tempG-5;

tempR = tempR-5;

if (tempB>=255) {

tempB = 255;

Bstate = false;

}

if (tempR<=0) {

tempR = 0;

}

if (tempG<=0) {

tempG = 0;

}

tempcolor = new Color("m1_mc");

tempcolor.setRGB(SetColorValue(tempR, tempG, tempB));

}

};

//自訂設定顏色函式

function SetColorValue(r, g, b) {

var RGB = (r << 16) | (g << 8) | b;

return RGB;

}







sample3.zip
 Description:
用程式控制漸變顏色範例

Download
 Filename:  sample3.zip
 Filesize:  5.6 KB
 Downloaded:  319 Time(s)

回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 MSN Messenger
jhun1226
【三年級】
【三年級】


註冊時間: 2006-04-15
文章: 71

發表 引言回覆

發表於: 2006-05-03 09:50 
那意思是說我要漸變的顏色 RGB的值都都要先找出來

再慢慢的一個一個去設定?

回頂端
檢視會員個人資料 發送私人訊息
行軍散
【班長】
【班長】


註冊時間: 2005-12-08
文章: 98

發表 引言回覆

發表於: 2006-05-03 12:37 
jhun1226 寫到:
那意思是說我要漸變的顏色 RGB的值都都要先找出來

再慢慢的一個一個去設定?

你想要變成甚麼顏色就將RGB值取得後,然後放在 IF 限定累加的範圍內就可,

你也可以把他放到自訂的變數中,以後就改變數的值就好,用變數來控制... OO

回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 MSN Messenger
jhun1226
【三年級】
【三年級】


註冊時間: 2006-04-15
文章: 71

發表 引言回覆

發表於: 2006-05-03 17:55 
那如果不談影格速率的問題.....

有辦法可以讓它轉換快一點ㄇ?

謝謝~

回頂端
檢視會員個人資料 發送私人訊息
行軍散
【班長】
【班長】


註冊時間: 2005-12-08
文章: 98

發表 引言回覆

發表於: 2006-05-03 18:08 
jhun1226 寫到:
那如果不談影格速率的問題.....

有辦法可以讓它轉換快一點ㄇ?

謝謝~

可以的,範例裡是設定RGB值每次變化5個單位,

你可以依照你的需求去作變化,

此外你也可以將其放進自訂的變數中,

那以後就更改變數的值就可以了..... OO

回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 MSN Messenger
從之前的文章開始顯示:   
發表新主題   回覆主題     1頁(共1頁)
【飛肯】教學網站 首頁 » 【Flash ActionScript 教學】範例區

 
所有的時間均為 台北時間 (GMT + 8 小時)
前往:  

回首頁】【最新開課訊息】【企業委訓】【範例教學分享區】【問題討論區