2009年12月7日 星期一

flash語控制兩組以上的聲音sounds

先建立兩個影片片段(或兩個以上)
將聲音載入此兩片段後
即可個別控制兩組(或以上)的聲音

在影格上寫入

_root.createEmptyMovieClip("mySound1",1)
_root.createEmptyMovieClip("mySound2",2)
soundtrack01 = new Sound(mySound1);
soundtrack01.attachSound("soundtrack01");
soundtrack01.start(0,999);
soundtrack02 = new Sound(mySound2);
soundtrack02.attachSound("soundtrack02");

2009年11月30日 星期一

Fash 聲音淡入淡出fade in & fade out

參考來源網站


影格第一格

music = new Sound();
music.attachSound("10 - August's Rhapsody.mp3");
music.start(0, 999999);
music.setVolume(0);
vol = 0;
step = 1;
fade = 0;
onEnterFrame = function() {
// set fade out
if (fade == 1) {
vol = vol-step;
if (vol<0) { vol = 0; } music.setVolume(vol); // set fade in } else { vol = vol+step; if (vol>100) {
vol = 100;
}
music.setVolume(vol);
}
}
soundButton.onRelease = function() {
(_root.fade=!_root.fade) ? 1 : 0;
}


按鈕部份

on (press) {
(_root.fade=!_root.fade) ? 0 : 1;
}

2009年10月27日 星期二

把php的值傳送到flash上

以下範例為將某個資料夾內的檔案數量經由php統計後,再把統計出來的值傳給flash呈現出來:
php的值 參考php計算資料夾內檔案數量的語法

php上的寫法為:
<?php
$dir="要取得檔案數量的資料夾";
$num=count(glob("$dir/*.*"));
echo "&message1=".$num; //把num變數帶入message1,message1是之後在flash上要抓的參數
?>


flash上的寫法為:(先新建一個flash檔案,在理面新增一個動態文字框並命名為message1)
stop();
response_lv = new LoadVars();
response_lv.onLoad = function(success) {
if(success) {
message1.text=this.message1;
}
}
var my_lv = new LoadVars();
my_lv.sendAndLoad("countfile.php",response_lv);


本篇參考出處http://forums.devshed.com/flash-help-38/php-flash-variable-does-not-display-value-75447.html

php列出特定資料夾內所有檔案名稱的語法

<?php
$dirname="想要讀取的資料夾名稱";
$dh=opendir($dirname);
while ($dave=readdir($dh))
{
if ($dave != "." && $dave != "..") {
echo $dave."<br>"; //"br"讓名稱可以斷行排列出來,不會一直排下去
}
}
closedir ($dh);
?>

2009年10月26日 星期一

php計算資料夾內檔案數量的語法

使用php計算某一個資料夾內的檔案數量的語法

<?php
$dir="要計算的資料夾名稱";
$num=count(glob("$dir/*.*"));
//*.*也可以改為特定的副檔名,如 *.jpg 這樣就只會統計該資料夾內所有副檔名為jpg的檔案數量
echo $num;
?>


2017.12.24更新

上面的語法在資料夾內沒有檔案時也會得到數量1的錯誤資訊
正確數量可用以下語法


<?php

    $i = 0; 
    $dir = '資料夾路徑(相對路徑)';
    if ($handle = opendir($dir)) {
        while (($file = readdir($handle)) !== false){
            if (!in_array($file, array('.', '..')) && !is_dir($dir.$file)) 
                $i++;
        }
    }
    echo "資料夾內有 $i 個檔案";

?>

下面的語法也可計算資料夾內的檔案數量
<?php
$Path = '資料夾路徑(相對路徑)'; 
$files = glob($Path . '*', GLOB_MARK); //files 會取得檔案名稱的陣列
echo count($files);
?>

2009年10月25日 星期日

xoops更改tadnews模組新聞文章的排列由新到舊

使用tadnews模組時,遇到發佈出來的新聞,不管怎麼改文章標題都是由舊而新排列的問題,也就是說,最先打得文章應該是排列在晚打得文章後面,但是結果卻是先反的。
再詢問友人後,才得知修改的地方:

Step 1.
xoops下
進入 modules/tadnews/blocks

Step 2.
打開tadnews_page.php
在大約第123行的地方(標記為"//檢查該類別文章"那一段落)

$sql = "select nsn,news_title,start_day,end_day,enable_group,counter from ".$xoopsDB->prefix("tad_news")." where ncsn='{$show_ncsn}' and enable='1' and start_day < '{$today}' and (end_day > '{$today}' or end_day='0000-00-00 00:00:00') order by start_day";
後面加上一個 desc
$sql = "select nsn,news_title,start_day,end_day,enable_group,counter from ".$xoopsDB->prefix("tad_news")." where ncsn='{$show_ncsn}' and enable='1' and start_day < '{$today}' and (end_day > '{$today}' or end_day='0000-00-00 00:00:00') order by start_day desc";

這樣就可以囉!
如果要反向排列就改為 asc

flash語法判斷目前所在頁面的網址

遇到一個情況,在xoops的模組下,要讓主要選單按鈕能夠隨目前所在的頁面,該頁面的連結按鈕能夠改變不同的顏色:除了js語法外,用flash的選單也可以做到這樣的呈現:
STEP 1.
把flash的主選單做好

Step 2.
在主選單的第一格使用ActionScript語法來抓瀏覽器的網址列:
import flash.external.*;
var urlPath;
function geturlhttp() {
urlPath = ExternalInterface.call("window.location.href.toString");
}
geturlhttp();
//設定舞台上的urlText動態文字來呈現目前抓到的網址
_root.urlText.text = urlPath;


Step 3.
接下來只要設定好按鈕的判斷語法就可以了,例如:
this.onEnterFrame=function(){
//如果抓到的網址是http://www.xxxx.com.tw/page1/,那麼btn1就停在第三影格
if(_root.urlText.text=="http://www.xxxx.com.tw/page1/")
{
btn1.gotoAndStop(3);
}

//如果抓到的網址是http://www.xxxx.com.tw/page2/,那麼btn2就停在第三影格
if(_root.urlText.text=="http://www.xxxx.com.tw/page2/")
{
btn2.gotoAndStop(3);
}
}

2009年10月4日 星期日

zen cart上加入flash header的方法

1.先把flash檔案上傳至自己模板的空間,例如:
includes/templates/YOUR_TEMPLATE/images/flash/YOUR_HEADER.swf


2.用Dreamweaver 開新檔案,置入flash檔案,然後存檔,dreamweaver會自動詢問要不要產生swfobject.js的資料夾
跟檔案,按確定儲存。


3.把剛剛由dreamweaver得來的檔案存到自己模板內的空間,如:
includes/templates/YOUR_TEMPLTE/Scripts/swfobject.js 


4.如果先前tpl_header.php檔案沒有被修改過,那麼先複製
includes/templates/template_default/common/tpl_header.php 
這個檔案  到自己的模板資料夾內,如下
include/templates/YOUR_TEMPALTE/common/tpl_header.php


5.打開剛剛複製的tpl_header.php,然後將dreamweaver上的置入flash所需要的code拷貝到適當位置(例如/將code寫在branding display內),如下:


<!--bof-flash_head display-->
<div style="float:left">
<script src="includes/templates/btp/Scripts/swfobject_modified.js" type="text/javascript"></script>
<object id="FlashID" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="680" height="250">
      <param name="movie" value="includes/templates/btp/images/swf/header680x250.swf" />
      <param name="quality" value="high" />
      <param name="wmode" value="opaque" />
      <param name="swfversion" value="6.0.65.0" />
      <!-- This param tag prompts users with Flash Player 6.0 r65 and higher to download the latest version of Flash Player. Delete it if you don¡¦t want users to see the prompt. -->
      <param name="expressinstall" value="includes/templates/btp/Scripts/expressInstall.swf" />
      <!-- Next object tag is for non-IE browsers. So hide it from IE using IECC. -->
      <!--[if !IE]>-->
      <object type="application/x-shockwave-flash" data="includes/templates/btp/images/header680x250.swf" width="680" height="250">
        <!--<![endif]-->
        <param name="quality" value="high" />
        <param name="wmode" value="opaque" />
        <param name="swfversion" value="6.0.65.0" />
        <param name="expressinstall" value="Scripts/expressInstall.swf" />
        <!-- The browser displays the following alternative content for users with Flash Player 6.0 and older. -->
        <div>
          <h4>Content on this page requires a newer version of Adobe Flash Player.</h4>
          <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" width="112" height="33" /></a></p>
        </div>
        <!--[if !IE]>-->
      </object>
      <!--<![endif]-->
    </object>
</div>
<!--eof-flash_head display-->



6.修改code內的檔案指向,讓他們指向swf檔案以及Scripts在自定模板資料夾內的位置。



======= END =======



2009年9月26日 星期六

在flash或html中加上"加入我的最愛"語法

Html語法:
<code>
<a href="#"
OnClick="this.style.behavior='url(#default#homepage)';this.setHomePage('網址');">將本站設為首頁</a>

<a href="javascript:window.external.AddFavorite('網址','我的最愛中要顯示的名稱')">加入我的最愛</a>
</code>

Flash內的方法:
1.先在要嵌入flash的頁面上加入以下語法:
<code>
<script language="JavaScript">
function sethomepage(){
document.body.style.behavior='url(#default#homepage)';
document.body.setHomePage('網址');
}
</script>

然後在flash物件按鈕上加入以下語法:

on(release){
getURL("javascript:sethomepage();","_self");
}
</code>

2009年9月25日 星期五

Zencart內自己建立側邊欄位Sideboxes

要建立自己的側邊欄位,首先
1.在自己的模組資料夾內建立一個sideboxes的資料夾。
2.一個側邊欄位的建立需要包含連結以下三個檔案











  • modules/sideboxes/template_name/name_of_sidebox.php'
  • languages/english/extra_definitions/template_name/ name_of_sidebox_defines.php '
  • templates/template_name/sideboxes/tpl_name_of_sidebox.php '


將上述的template_name改成自己的模組名稱


如何建立這些連結檔案呢?假設我們要建立一個叫my_sidebox的側邊欄位,那麼在
modules/sideboxes/template_name/my_sidebox.php  應該這樣寫:








<?php
 $show_my_sidebox = true;
 if ($show_my_sidebox == true){
 require($template->get_template_dir('tpl_my_sidebox.php', DIR_WS_TEMPLATE, $current_page_base,'sideboxes'). '/tpl_my_sidebox.php');
 $title = BOX_HEADING_MY_SIDEBOX;
 $left_corner = false;
 $right_corner = false;
 $right_arrow = false;
 require($template->get_template_dir($column_box_default, DIR_WS_TEMPLATE, $current_page_base,'common') . '/' . 
$column_box_default);
  }
 ?>


3.接著建立定義這個側邊欄位的標題名稱的檔案於includes/languages/english/extra_definitions/packt/my_sidebox_defines.php

<?php
  define('BOX_HEADING_MY_SIDEBOX', 'My Sidebox');
 ?>



4.然後開始建立 includes/templates/packt/sideboxes/tpl_my_sidebox.php這個檔案,如下:







<?php
  $content = "This is my first Sidebox. I have created it in 5 minutes. Although it is not of practical use yet, I 
 hope I can eventually build a good sidebox.";
 ?>


之後在到購物網站的後台管理界面,將側邊欄位開啓,即可看到~








2009年9月14日 星期一

php Date函數參照

$t=time();
echo date("Y-m-d H:i:s",$t);
第一個參數的格式分別表示:
a - "am" 或是 "pm"
A - "AM" 或是 "PM"
d - 几日,二位數字,若不足二位則前面補零; 如: "01" 至 "31"
D - 星期几,三個英文字母; 如: "Fri"
F - 月份,英文全名; 如: "January"
h - 12 小時制的小時; 如: "01" 至 "12"
H - 24 小時制的小時; 如: "00" 至 "23"
g - 12 小時制的小時,不足二位不補零; 如: "1" 至 12"
G - 24 小時制的小時,不足二位不補零; 如: "0" 至 "23"
i - 分鐘; 如: "00" 至 "59"
j - 几日,二位數字,若不足二位不補零; 如: "1" 至 "31"
l - 星期几,英文全名; 如: "Friday"
m - 月份,二位數字,若不足二位則在前面補零; 如: "01" 至 "12"
n - 月份,二位數字,若不足二位則不補零; 如: "1" 至 "12"
M - 月份,三個英文字母; 如: "Jan"
s - 秒; 如: "00" 至 "59"
S - 字尾加英文序數,二個英文字母; 如: "th","nd"
t - 指定月份的天數; 如: "28" 至 "31"
U - 總秒數
w - 數字型的星期几,如: "0" (星期日) 至 "6" (星期六)
Y - 年,四位數字; 如: "1999"
y - 年,二位數字; 如: "99"
z - 一年中的第几天; 如: "0" 至 "365"
其它不在上列的字符則直接列出該字符

strtotime("+1 week")

$tomorrow = mktime (0,0,0,date("m") ,date("d")+1,date("Y"));

$lastmonth = mktime (0,0,0,date("m")-1,date("d"), date("Y"));

$nextyear = mktime (0,0,0,date("m"), date("d"), date("Y")+1);

echo date( "Y-m-d H:i:s", mktime (0,0,0,date("m") ,date("d")-7,date("Y")) );

echo date( "Y-m-d H:i:s", mktime (0,0,0,date("m") ,date("d"), date("Y")) );

echo date("Y-m-d",strtotime($date)));

資料來源:php官網

參考網站 : http://my-web-design.blogspot.com/2008/08/php-date.html

2009年9月12日 星期六

php讀取檔案修改時間程式(偵測檔案最後更改時間)

<?php
$filename = '要查詢時間的檔案名稱';
if (file_exists($filename)) {
echo date("F d Y H:i:s.", filectime($filename));
}
?>

讀取檔案時間的三個指令
 filectime: 檔案最後存入磁碟的時間
 filemtime:檔案本身最後被修改的時間
 fileatime:檔案最後被執行的時間

置於檔案時間的顯示方式參考另一篇  php Date函數參照

2009年9月8日 星期二

xoops2.3.3修改會員選單內的項目


登入管理員後台,在系統管理的區塊管理內選擇編輯“會員選單“
修改內部各個選單的語法即可

xoops2.3.3在新增用戶欄取消掉email驗證

step1.
開啟/modules/profile/include/forms.php,把裡面的第394行$elements[0][] = array('element' => $email_tray, 'required' => 0);取消。

step2.
開啟/class/userutility.php,修改第110到113行為無效
// Invalid email address
//if (!checkEmail($email)) {
// $stop .= _US_INVALIDMAIL . '
';
// }

以及修改第179到181行為無效(若此段沒有修改,那麼只能新增一個新會員,之後新增的都會顯示此帳號已經註冊過)
//if ($count > 0) {
// $stop .= _US_EMAILTAKEN . "
";
//}

這樣在新增使用者時,就不會檢查email帳號



<<補充知識>>
開啟/modules/profile/admin/user.php,第119到125行
//xoops_load("userUtility");
//$stop = XoopsUserUtility::validate($user, $password, $vpass);

//$errors = array();
//if ($stop != "") {
// $errors[] = $stop;
//}
這邊是新增使用者時讓xoops呼叫userUtility做資料核對的語法,但是修改上述語法,也會使新增使用者時,無法做密碼輸入兩次核對的確認,以及使用者名稱重複的核對。所以要直接修改/class/userutility.php才是根本

2009年9月7日 星期一

讓iframe隨連結頁面內容高度自動調整內容

1.先在要使用iframe連結的頁面寫好iframe語法,id命名為frameid,注意scrolling不可以設定為no:

〈iframe src="test.htm" id="frameid" frameborder="0">

2.在要被連結的內容頁內,寫入以下語法:

〈head>
〈script>
function resize(){
parent.document.getElementById("frameid").height=document.body.scrollHeight;
}
〈/script>
〈/head>

〈body onload="resize();">

參考資料來源:http://blog.xuite.net/jon6773/blog/17844864

2009年9月5日 星期六

Flash語法對照表

動作
指令名稱 語法 說明
break break; 終止迴圈運作,例如:while,do…while,for, for…in)。
call call(frame); 呼叫執行某個影格的程式碼。
call function object.function(parameters); 呼叫使用者定義的函數。
case case (expression,statements); 用來定義 switch 的條件。
comment // 在程式中加入註解或說明。
continue continue; 繼續迴圈中下一個索引值的動作。
delete delete(reference); 刪除物件或變數名稱,使其從記憶體中清除。
default default(statements); 定義 switch 的預設 case 陳述式。
clearInterval clearInterval( intervalID ); 清除函數的執行間隔設定。
do...while do{ statement;}while(condition); 重複執行迴圈,直到條件控制終止。
duplicateMovieClip duplicateMovieClip(target,newname, 複製影片片段。
else else{statements;} 當if命令的條件值為假(false)時,執行的程式碼。
else if else if(condition){ statements;} 當if命令的條件值為假(false)時,執行新的條件判斷式。
endinitclip #endinitclip; 結束組件初始化的區塊。
evaluate statement; 建立一個空白行,並插入Action程式碼。
for for(init;condition;next){ statement;} 重複執行迴圈,直到條件控制終止。
for..in for(vars in object){ statement; } 對物件中每個元件重複執行相同的程式碼。
fscommand fscommand(command ,args); 傳送指令到外部程式(例如:Jvascript),配合影片的播放。
function function name(arg0,arg1,...argN){ statement(s);} 定義函數,以利呼叫執行。
getURL getURL(url[,window[,variables]]); 超連結URL。
goto gotoAndPlay(scene,frame)gotoAndStop(scene,frame) 跳到所指定的影格繼續播放或停止。
if if(condition){ statement;} 條件判斷。
ifFrameLoaded ifFrameLoaded(scene,frame){ statement;} 判斷影格是否已完成載入動作。
include #include'filename.as'; 載入參數包含文件中的程式碼內容。
initclip #initclip order; 開始執行組件初始化動作。
loadMovie loadMovie(url[,location/target,variables]]); 載入其它swf檔案或URL。
loadVariables loadVariables(url,location[,vars]); 載入或讀取外部變數資料,例如:CGI、ASP、PHP上所執行的資料。
method object.method=function ([parameters]) {...body of function... }; 用來宣告物件的方法。
on on(mouseEvent){ statement;} 取得滑鼠或鍵盤在按鈕元件上觸發的事件。
onClipEvent onClipEvent(movieEvent){statement;} 取得滑鼠或鍵盤在影片片段元件上觸發的事件。
play play(); 讓停止中的影格開始播放。
print print(target,'bmovie');print(target,'bmax');print(target,'bframe'); 列印影片片段。
removeMovieClip removeMovieClip(target); 將已複製的影片片段予以取消。
return return[expr];return; 在函數中傳回資料。
set variable set(variable,expression) 設定變數。
setInterval setInterval(function, interval[,arg1,arg2,..., argn] ); 定期呼叫函數。
setProperty setProperty(target,property,expr); 設定屬性變數的值。
startDrag startDrag(target);startDrag(target,[lock]); 將影片片段設定為拖移狀態。
stop stop; 停止播放影片。
stopAllSounds stopAllSounds(); 停止所有播放中的聲音。
stopDrag stopDrag(); 停止拖移動作。
switch switch(expression){caseClause:[defaultClause:]}; 依據判斷條件執行程式碼。
tellTarget tellTarget(target){ statement;} 對指定的影片片段下達指令,Flash 5中建議使用with命令代替。
toggleHighQuality toggleHighQuality(); 切換影片播放品質開關。
trace trace(expr); 將變數值輸出到Output視窗。
unloadMovie unloadMovie(location); 清除已載入的swf檔案。
updataAfterEvent updateAfterEvent(); 更新畫面元件。
var var varname1=value1; 宣告區域變數。
while while(condition){ statement(s);} 重複執行迴圈,直到條件控制終止。
with with(object){ statement(s);} 對指定的影片片段或元件下達指令。
運算子
指令名稱 語法 說明
! !expr 否邏輯運算(NOT)。
!= expr1 !=expr2 關係運算:不等於。
% expr1 % expr2 餘數(Modulo)。
&& expr1 && expr2 且邏輯運算(AND)。
( ) (expr1, expr2); 括號,用以指定運算的次序。
* expr1 * expr2 乘法運算(Multiplication)。
+ expr1 + expr2 加法運算(Addition)。
++ ++exprexpr++ 遞增運算,增加1。
- -exprexpr1 - expr2 減法運算(Minus)。
-- --exprexpr-- 遞減運算,減少1。
/ expr1 / expr2 除法運算(Dvision)。
〈 expr1 〈 expr2 關係運算:小於(Less Than)。
〈= expr1 〈= expr2 關係運算:小於或等於(Less Than or Equal To)。
〈〉 expr1 〈〉 expr2 關係運算:不等於。
= expr1 = expr2 指定運算(Assiqnment)
〉 expr1 〉 expr2 關係運算:大於(Greater Than)。
〉= expr1 〉= expr2 關係運算:大於或等於(Greater Than or Equal To)。
and cond1 AND cond2 邏輯且運算元。
not NOT expr 邏輯否運算。
or cond1 or cond2 邏輯或運算(Loqical OR)。
typeof typeof(expr); 辨別資料型態。
void void (expr); 不傳回值。
|| expr1 || expr2 邏輯或運算(OR)。
& expr1 & expr2 位元且運算(bitwise AND)。
〈〈 expr1 〈〈 expr2 位元左移運算(bitwise left shift)。
〉〉 expr1 〉〉 expr2 位元右移運算(bitwise right shift)。
〉〉〉 expr1 〉〉〉 expr2 位元無標記右移運算(bitwise unsiqned right shift)。
^ expr1 ^ expr2 位元互斥或運算(bitwise XOR)。
| expr1 | expr2 位元或運算(bitwise OR)。
~ ~ expr 位元否運算(bitwise NOT)。
%= expr1 %= expr2 餘數指定運算(modulo assiqnment)。
&= expr1 &= expr2 邏輯且指定運算(bitwise AND assiqnment)。
*= expr1 *= expr2 乘法指定運算(multip lication assiqnment)。
+= expr1 += expr2 加法指定運算(addition assiqnment)。
-= expr1 -= expr2 減法指定運算(neqation assiqnment)。
/= expr1 /= expr2 除法指定運算(division assiqnment)。
〈〈= expr1 〈〈= expr2 左移指定運算(bitwise left shift and assiqnment)。
〉〉= expr1 =〉〉expr2 右移指定運算(bitwise right shift and assiqnment)。
〉〉〉= expr1 〉〉〉= expr2 無標記右移指定運算(bitwise unsiqned right shift)。
^= expr1 ^= expr2 位元XOR指定運算(bitwise XOR assiqnment)。
|= expr1 |= expr2 位元OR指定運算(bitwise OR assiqnment)。
add string1 add string2 字串連接運算(Concatenate)。
eq expr1 eq expr2 關係運算:等於(Equals)。
ge expr1 ge expr2 關係運算:大於或等於(Greater Than or Equal To)。
gt expr1 gt expr2 關係運算:大於(Greater Than)。
le expr1 le expr2 關係運算:小於或等於(Less Than Or Equal To )。
lt expr1 lt expr2 關係運算:小於(Less Than)。
ne expr1 ne expr2 關係運算:不等於。

函數
指令名稱 語法 說明
Array new Array(); 建立一個新的陣列。
Boolean Boolean(expr); 將運算式轉換為布林值。
escape escape(expr); 將符號轉換成十六進位,且以%加以區隔。
eval eval(expr); 評估變數值(Evaluate variable by name);可將參數中的運算結果當成變數。
false 傳回布林值false。
getProperty getProperty(instancename,property); 取得屬性值。
getTimer getTimer(); 取得時間(Get time in msec)。
getVersion getVersion(); 取得Flash Player的版本資訊。
int int(value); 轉換為整數。
isFinite isFinite(expr); 判斷數值為正數或負數,若為正數則傳回true (真) ;若負數則傳回false (假)。
isNaN isNaN(expr); 判斷參數是否為數值資料。
maxscroll var.maxscroll=x 文字欄位的移動高度。
newline newline; 換行字元(newline character)。
Number Number(expr); 將參數轉換為數值。
parseFloat parseFloat(string); 將字串轉換為浮點數值。
parseInt parseInt(expr,radix); 將二進位、八進位、十六進位等數值轉換為十進位。
random random(); 隨機函數,傳回一個數值介於0和參數n之間的整數。
scroll variable_name.scroll=x 捲軸函數;可控制文字欄首行文字和文字檔的內容位置。
String String(expr); 將物件、數字、變數、影片片段、空字串或布林值等轉換為字串。
targetPath targetpath(movieClipObject); 取得物件的完整路徑字串。
true 傳回布林值真。
unescape unescape(x); 將十六進位符號轉換為ASCII碼符號。
chr chr(number); 把ASCII碼轉換為字元。
length length(variable); 計算字串長度。
mbchr mbchr(number); 將ASCII碼轉換為多位元組字元。
mblength mblength(string); 計算多位元組字串長度。
mbord mbord(character); 將字串轉換為多位元組數值。
mbsubstring mbsubstring(value,index,count); 從多位元字串中取得子字串。
ord ord(character); 把字串的第一個字元轉換為ASCII碼。
substring substring(string,index,count); 取得子字串。

屬性
指令名稱 語法 說明
_alpha instancename._alpha=value; 元件的透明度,當數值等於0時,完全透明。
_currentframe instancename._currentframe 目前元件所處的影格位置。
_droptarget draggableInstanceName._droptarget 元件於拖移動作停止後所在的位置。
_focusrect _focusrect=Boolean; 顯示按鈕的矩形範圍。
_framesloaded instancename._framesloaded 元件已載入的影格。
_height instancename._heightinstancename._height=value; 元件的高度。
_highquality _highquality=value; 高品質。
_name instancename._name=value; 元件的名稱。
_quality _quality_quality=x; 顯示品質。
_rotation instancename._rotation=integer 旋轉角度,預設數值為0,可任意輸入角度值。
_soundbuftime _soundbuftime=integer; 音效預先緩衝的時間。
_target instancename._target 元件的路徑及名稱。
_totalframes instancename._totalframes 元件的總影格數。
_url instancename._url 影片檔的檔案存放位置。
_visible instancename._visible=Boolean; 物件為顯示或隱藏狀態,「0」為隱藏,「1」為顯示。
_width instancename._width=value; 元件的寬度。
_x instancename._x=integer 元件的水平座標位置。
_xmouse instancename._xmouse 元件的滑鼠游標的水平座標位置。
_xscale instancename._xscale=percentage; 元件的寬度縮放率。
_y instancename._y=integer; 元件的垂直座標位置。
_ymouse instancename._ymouse 影片場景上,滑鼠游標的垂直座標位置。
_yscale instancename._yscale=percentage; 元件的高度縮放率。

物件

Array
指令名稱 語法 說明
concat myArray.concat(value0,value1,...valueN); 連結兩個陣列資料。
join myArray.join(); 將陣列轉換為字串。
length myArray.length; 計算陣列長度。
new Array new myArray; 建立新陣列。
pop myArray.pop(); 移除陣列中最後一個元素。
push myArray.push(value); 增加一個或多個元素在陣列的末尾。
reverse myArray.reverse(); 翻轉陣列的方向。
shift myArray.shift(); 移去第一個元素。
slice myArray.slice(start,end); 取得指定範圍的元素。
sort myArray.sort(); 將陣列元素重新排序。
sortOn myArray.sortOn(); 將陣列元素重新排序,並做為排序索引鍵。
splice myArray.splice(start,deleteCount,value0,value1...valueN); 在數組中增刪元素。
toString myArray.toString(); 以字串形式取出元素。
unshift myArray.unshift(value1,value2,...valueN); 從開頭加入元素。

Boolean
指令名稱 語法 說明
new Boolean new bool 新建一個布林變數。
toString Boolean.toString(); 取得代表布林真假值字串。
valueOf Boolean.valueOf(); 取得布林物件的初值。

Color
指令名稱 語法 說明
getRGB myColor.getRGB(); 取得顏色值。
getTransform Color.getTransform(); 取得顏色表值。
new Color new Color(target); 建立新顏色物件。
setRGB myColor.setRGB(0xRRGGBB); 設定顏色。
setTransform myColor.setTransform(Object); 設定顏色表。

Date
指令名稱 語法 說明
getDate myDate.getDate(); 日期數值。
getDay myDate.getDay(); 星期數值。
getFullYear myDate.getFullYear(); 年份數值。
getHours myDate.getHours(); 時間數值。
getMilliseconds myDate.getMilliseconds(); 毫秒數值。
getMinutes myDate.getMinutes(); 分鐘數值。
getMonth myDate.getMonth(); 月份數值。
getSeconds myDate.getSeconds(); 秒數數值。
getTime myDate.getTime(); 瞬間時間。
getTimezoneOffset mydate.getTimezoneOffset(); 以分鐘形式獲取本機時間與總體時間(universal time)系之間的差值。
getUTCDate myDate.getUTCDate(); 根據UTC時間系取得指定時間裡該月當天是第幾日。
getUTCDay myDate.getUTCDate(); 根據UTC時間系獲取指定時間裡該日是星期幾。
getUTCFullYear myDate.getUTCFullYear(); 根據UTC時間系獲取指定時間的4位數的年號值。
getUTCHours myDate.getUTCHours(); 根據UTC時間系獲取指定時間的小時數。
getUTCMilliseconds myDate.getUTCMilliseconds(); 根據UTC時間系獲取指定時間的毫秒數。
getUTCMinutes myDate.getUTCMinutes(); 根據UTC時間系獲取指定時間的分鐘數。
getUTCMonth myDate.setMonth(month[,date]); 根據UTC時間系獲取指定時間的月份。
getUTCSeconds myDate.setSeconds(second); 根據UTC時間系獲取指定時間的秒數。
getYear myDate.getYear(); 根據本機時間取得當前縮寫年份。
new Date new Date(); 建立日期物件。
setDate myDate.setDate(date); 設定日期物件。
setFullYear myDate.setFullYear(year[,month[,date]]); 設定年份數值。
setHours myDate.setHours(hour); 設定時間數值。
setMilliseconds myDate.setMilliseconds(millisecond); 設定毫秒數值。
setMinutes myDate.setMinutes(minute); 設定分鐘數值。
setMonth myDate.setMonth(month[,date]); 設定月份值。
setSeconds myDate.setSeconds(second); 設定秒數值。
setTime myDate.setTime(millisecond); 根據日期參數指定毫秒數預置日期。
setUTCDate myDate.setUTCDate(date); 在UTC時間系裡給指定日期的預置日期。
setUTCFullYear myDate.setUTCFullYear(year[,month[,date]]); 在UTC時間系裡給指定日期的預置日期。
setUTCHours myDate.setUTCHours(hour[,minute[,second[,millisecond]]])); 在UTC時間系裡給指定日期的預置小時。
setUTCMilliseconds myDate.setUTCMilliseconds(millisecond); 在UTC時間系裡給指定日期的預置毫秒數。
setUTCMinutes myDate.setMinutes(minute); 在UTC時間系裡給指定日期的預置分鐘數。
setUTCMonth myDate.setUTCMonth(month[,date]); 在UTC時間系裡給指定日期的預置月份。
setUTCSeconds myDate.setUTCSeconds(second[,millisecond])); 在UTC時間系裡給指定日期的預置秒數。
setYear myDate.setYear(year); 在UTC時間系裡給指定日期的預置年號。
toString myDate.toString(); 在可讀格式裡給指定的日期獲取字符串值。
UTC Date.UTC(year,month[,date[,hour[,minute[,second[,millisecond]]]]]); 取得從1970年1月1日至今的毫秒數值,及相關參數。

Key
指令名稱 語法 說明
addListener Key.addListener(); 增加收聽者的物件。
BACKSPACE Key.BACKSPACE 鍵值為9。
CAPSLOCK Key.CAPSLOCK 鍵值為20。
CONTROL Key.CONTROL 鍵值為17。
DELETEKEY Key.DELETEKEY 鍵值為46。
DOWN Key.DOWN 鍵值為40。
END Key.END 鍵值為35。
ENTER Key.ENTER 鍵值為13。
ESCAPE Key.ESCAPE 鍵值為27。
getAscii Key.getAscii(); 取得最後按鍵的ASCII碼。
getCode Key.getCode(); 取得最後按鍵的鍵盤值。
HOME Key.HOME 鍵值為36。
INSERT Key.INSERT 鍵值為45。
isDown Key.isDown(keycode); 判斷指定鍵是否被按下。
isToggled Key.isToggled(keycode) 判斷CapsLock(20)或NumLock(144)是否被按下。
LEFT Key.LEFT 鍵值為37。
PGDN Key.PGDN 鍵值為34。
PGUP Key.PGUP 鍵值為34。
RIGHT Key.RIGHT 鍵值為39。
removeListener Key.removeListener (); 移除收聽者增加的物件。
SHIFT Key.SHIFT 鍵值為16。
SPACE Key.SPACE 鍵值為32。
TAB Key.TAB 鍵值為9。
UP Key.UP 鍵值為38。

Math
指令名稱 語法 說明
abs Math.abs(x); 傳回絕對值。
acos Math.acos(x); 傳回餘弦。
asin Math.asin(x); 傳回正弦。
atan Math.atan(x); 傳回正切。
atan2 Math.atan2(y,x); 傳回y/x的正切。
ceil Math.ceil(x); 取得指定數值的上限,一個數的上限是最接近的整數,此數大於或等於該數。
cos Math.cos(x); 傳回餘弦。
E Math.E 自然對數。
exp Math.exp(x); 傳回指數值。
floor Math.floor(x); 取得指定數值的下限,它是一個最接近小於或等於該數的整數。
LN10 Math.LN10 以e為底,10的自然對數。
LN2 Math.LN2 以e為底,2的自然對數。
log Math.log(x); 傳回自然對數。
LOG10E Math.LOG10E 以10為底,e的對數。
LOG2E Math.LOG2E 以2為底,e的對數。
max Math.max(x,y); 取x、y中的最大值。
min Math.min(x,y); 取x、y中的最小值。
PI Math.PI 圓周率。
pow Math.pow(x,y); x的y次方。
random random(); 可傳回一個數值介於0和參數n之間的整數。
round Math.round(x); 圍繞最近的物體。
sin Math.sin(x); 傳回正弦。
sqrt Math.sqrt(x); 傳回平方根。
SQRT1-2 Math.SQRT1_2 1/2的平方根。
SQRT2 Math.SQRT2 2的平方根。
tan Math.tan(x); 傳回正切。
Mouse

指令名稱 語法 說明
addListener Mouse.addListener (); 增加收聽者的物件。
hide Mouse.hide(); 隱藏滑鼠指標。
removeListener Mouse.removeListener (); 移除收聽者增加的物件。
show Mouse.show(); 顯示滑鼠指標。

MovieClip
指令名稱 語法 說明
attachMovie anyMovieClip.attachMovie(idName,newname,depth); 從元件庫選擇一個元件,以建立一個影片片段的分身。
createEmptyMovieClip myMovieClip.createEmptyMovieClip (instanceName, depth); 建立新的影片片段。
createTextField myMovieClip.createTextField (instanceName, depth, x, y, width, height); 建立新的文字欄位。
duplicateMovie anyMovieClip.duplicateMovieClip(newname,depth); 複製影片片段。
getBounds anyMovieClip.getBounds(targetCoordinateSpace); 取得影片片段指定區域的x、y座標的最大、最小值。
getBytesLoaded anyMovieClip.getBytesLoaded(); 取得影片片段已載入部分的位元組數。
getBytesTotal anyMovieClip.getBytesTotal(); 取得影片片段的總位元組數。
getURL anyMovieClip.getURL(URL[,window,variables]]); 從指定URL中下載文件資料到視窗中。
getDepth myMovieClip.getDepth; 將影片片段的實體深度傳回。
globalToLocal anyMovieClip.globalToLocal(point); 把point物件的總體座標轉換成指定影片片段的局部座標。
gotoAndPlay anyMovieClip.gotoAndPlay(frame); 跳到指定的影片片段影格,繼續播放。
gotoAndStop anyMovieClip.gotoAndStop(frame); 跳到指定的影片片段影格,停止播放。
hitTest anyMovieClip.hitTest(target); 指定滑鼠指標的反應範圍。
loadMovie anyMovieClip.loadMovie(url[,variables]); 載入影片。
loadVariables anyMovieClip.loadVariables(url,variables); 載入變數資料。
localToGlobal anyMovieClip.localToGlobal(point); 把point物件的局部座標轉換成總體座標。
nextFrame anyMovieClip.nextFrame(); 跳到指定影片片段的下一個影格。
play anyMovieClip.play(); 播放影片。
prevFrame anyMovieClip.prevFrame(); 跳到指定影片片段的前一個影格。
removeMovieClip anyMovieClip.removeMovieClip(); 移除影片片段。
setMask myMovieClip.setMask (maskMovieClip); 將影片片段變成可改編的遮色片。
startDrag anyMovieClip.startDrag(); 拖移影片片段。
stop anyMovieClip.stop(); 停止播放影片。
stopDrag anyMovieClip.stopDrag(); 停止拖移影片片段。
swapDepths anyMovieClip.swapDepths(target); 更換影片片段的上下顯示次序。
unloadMovie anyMovieClip.unloadMovie(); 移除所載入的影片片段。
Number

指令名稱 語法 說明
MAX-VALUE Number.MAX_VALUE flash所能表示的最大數值。
MIN-VALUE Number.MIN_VALUE flash所能表示的最小數值。
NaN Number.NaN 表示為非數值。
NEGATIVE-INF… Number.NEGATIVE_INFINITY 無窮負數值。
new Number new Number(value); 產生新的數值變數。
POSITIVE-INFI… Number.POSITIVE_INFINITY 無窮正數值。
toString myNumber.toString(radix); 將數值轉換為字串。
valueOf myNumber.valueOf(); 數值物件的原始數值。
Object

指令名稱 語法 說明
addProperty myObject.addProperty( prop, getFunc, setFunc ); 將屬性建立為get或set。
new Object new Object(); 產生新的物件。
registerClass Object.registerClass(symbolID, theClass); 可以將識別符號關聯到物件的類別。
toString myObject.toString(); 將物件轉換為字串。
unwatch myObject.unwatch (prop); 將Object.watch 方法建立的監控點移除。
valueOf myObject.valueOf(); 物件的原始數值。
watch myObject.watch( prop, callback [, userData] ); 增加監控點。
__proto__ myObject.__proto__; 建立時自動指定到原型物件。
Selection

指令名稱 語法 說明
addListener Selection.addListener(newListener); 增加收聽者的物件。
getBeginIndex Selection.getBeginIndex(); 傳回開始的索引值。
getCaretIndex Selection.getCaretIndex(); 傳回指標的索引值。
getEndIndex Selection.getEndIndex(); 傳回結束的索引值。
getFocus Selection.getFocus(); 傳回工作中文字欄位名稱。
removeListener Selection.removeListener(listener); 移除收聽者增加的物件。
setFocus Selection.setFocus(variable); 設定工作文字欄位名稱。
setSelection Selection.setSelection(start,end); 設定選擇工作文字欄位的範圍。

Sound

指令名稱 語法 說明
attachSound mySound.attachSound('idName'); 指定聲音物件。
getBytesLoaded Sound.getBytesLoaded(); 傳回 Sound 物件載入 (串流) 的位元組數。
getBytesTotal Sound.getBytesTotal(); 傳回下載物件的檔案大小。
getPan mySound.getPan(); 取得左右聲道的平衡值。
getTransform mySound.getTransform(); 取得聲音的轉換資訊。
getVolume mySound.getVolume(); 取得音量的資訊。
loadSound mySound.loadSound('url', isStreaming); 下載MP3檔案。
new Sound new Sound(); 產生新的聲音物件。
setPan mySound.setPan(pan); 設定左右聲道的平衡值。
setTransform mySound.setTransform(soundTransformObject); 設定聲音的轉換資訊。
setVolume mySound.setVolume(volume); 設定音量。
start mySound.start(); 開始播放聲音。
stop mySound.stop(); 停止播放聲音。

String

指令名稱 語法 說明
charAt myString.charAt(index); 從字串中取出字元。
charCodeAt myString.charCodeAt(index); 從字串中取出字元的ASCII碼。
concat myString.concat(value1,...valueN); 將字元加入字串中。
fromCharCode myString.fromCharCode(c1,c2,...cN); 使用字元產生新字串。
indexOf myString.indexOf(value); 尋找字元或子字串的位置(從頭開始)。
lastIndexOf myString.lastIndexOf(substring); 尋找字元或子字串的位置(從尾開始)。
length string.length 計算字串長度。
new String new String(value); 產生新的字串物件。
slice myString.slice(start,end); 取出子字串(指定範圍)。
split myString.split(delimiter); 將字串轉換為陣列。
substr myString.substr(start,length); 取出子字串(指定長度)。
substring myString.substring(from,to); 取出子字串(指定範圍)。
toLowerCase myString.toLowerCase(); 將字串轉換為小寫。
toUpperCase myString.toUpperCase(); 將字串轉換為大寫。

XML

指令名稱 語法 說明
appendChild myXML.appendChild(childNode); 新增一個子節點。
attributes myXML.attributes; 取得xml物件的子節點。
childNodes myXML.childNodes; 取得xml物件子節點的陣列。
cloneNode myXML.cloneNode(deep); 複製一個子節點。
createElement myXML.createElement(name); 建立一個新元素。
create TextNode myXML.createTextNode(text); 新增文字子節點。
contentType myXML.contentType; 呼叫 XML.send 方法時傳送到伺服器的 MIME 類型。
docTypeDecl myXML.XMLdocTypeDecl; 傳回文件格式資訊。
firstChild myXML.firstChild; 取得第一個子節點的資訊。
getBytesLoaded XML.getBytesLoaded(); 傳回 XML 物件載入 (串流) 的位元組數。
getBytesTotal XML.getBytesTotal(); 傳回下載物件的檔案大小。
hasChildNodes myXML.hasChildNodes(); 檢查是否具有子節點。
insertBefore myXML.insertBefore(childNode,beforeNode); 插入一個子節點。
lastChild myXML.lastChild; 取得最後一個子節點的資訊。
load myXML.load(url); 從url載入xml物件。
loaded myXML.loaded; 檢查xml物件是否完成載入。
new XML new XML(); 建立新的xml物件。
nextSibling myXML.nextSibling; 取得鄰近子節點的資訊。
noadName myXML.nodeName; 取得節點的名稱。
noadType myXML.nodeType; 取得節點的型態值。
nodeValue myXML.nodeValue; 取得節點的值。
onLoad myXML.onLoad(success); 檢查是否載入成功。
parentNode myXML.parentNode; 取得父節點的資訊。
parseXML myXML.parseXML(source); 剖析xml文件。
previousSibling myXML.previousSibling; 取得前一個鄰近子節點的資訊。
removeNode myXML.removeNode(); 移除節點。
send myXML.send(url); 傳送資訊到url。
sendAndLoad myXML.sendAndLoad(url,targetXMLobject); 傳送資訊到url,並下載xml物件資料。
status myXML.status 檢查或設定xml的狀態。
toString myXML.toString(); 傳回xml物件的資訊字串。
xmlDecl myXML.xmlDecl; 傳回xml文件資訊。

XMLSocket

指令名稱 語法 說明
close myXMLSocket.close(); 關閉xmlsocket物件的連結。
connect myXMLSocket.connect(host,port); 連結xmlsocket物件。
new XMLSocket new XMLSocket(); 建立新的xmlsocket物件。
onClose myXMLSocket.onClose(); 檢查xmlsocket物件是否已經關閉。
onConnect myXMLSocket.onConnect(success); 檢查xmlsocket物件是否已經連結。
onXML myXMLSocket.onXML(object); xmlsocket物件是否已經鑾完成下載和連結。
onData XMLSocket.onData(); 以回呼方式接收從伺服器傳來的原始資料。
send myXMLSocket.send(object); 將xml物件轉換為字串後傳送到伺服器。

2009年8月30日 星期日

Flash坐標轉換LocalToGlobal的轉換運用

如何將movieClip內一點的座標轉換成Stage的座標


應用:
1.Stage上有一個方塊的影片片段叫Box_mc,
方塊Box_mc內有一個球ball_mc,也就是_root.Box_mc.ball_mc
球內有一紅點red_mc,也就是_root.Box_mc.ball_mc.red_mc
其關係為:Box_mc包含ball_mc,ball_mc又包含red_mc
2.Stage上有一本書Book_mc

狀況一:
當要判斷比對書本與球的座標時
要將球座標由相對於Box_mc轉為相對於Stage

var point=new Object();
point.x=Box_mc.ball_mc._x;
point.y=Box_mc.ball_mc._y;
Box_mc.localToGlobal(point);
trace("轉換後的ball x座標="+point.x);
trace("轉換後的ball y座標="+point.y);

狀況二:
當要判斷比對書本與紅點的座標時
要將球座標由相對於Box_mc.ball_mc轉為相對於Stage

var point=new Object();
point.x=Box_mc.ball_mc.red_mc._x;
point.y=Box_mc.ball_mc.red_mc._y;
Box_mc.ball_mc.localToGlobal(point);
trace("轉換後的red x座標="+point.x);
trace("轉換後的red y座標="+point.y);

偵測flash影片片段是否播放完畢

假定動畫片段名稱為test_mov, 讓該片段播放完後就消失

test_mov.onEnterFrame=function(){
if (this._currentframe==this._totalframes) {
this._visible=false;
}
}

2009年8月28日 星期五

移除圖片上超連結的外框

Dreamweaver 內點選圖片後,在最下面屬性面板右下角有「邊框」設定為 0 即可

html內碼,在<img>標籤內加上 border="0" 如:<img src="xxx.jpg" border="0"/>

2009年8月27日 星期四

用Flash+PHP做檔案上傳程式

參考

mac上用Photoshop或illustrator打出點陣字

使用蘋果的儷宋中黑,防鋸齒設無,字形設為12級字,也可直接使用細明體(或新細明體,但細明體效果似乎較好),使用細明體或新細明體,字體的長寬也要調整放大一些,字體才會清楚,細明或新細明用此方法字級可以放大。

在illustrator上也可以做出點陣字,ㄧ樣使用蘋果的儷宋中黑,字級設定為12級字,
接著用「效果」內的「點陣化」來處理字體就可以造出點陣字,如下圖設定





2009年8月25日 星期二

Flash動態文字加入斷行

宣告文字到動態文字框時,加入斷行的方式為把\n\r斷行符號加入字串中,如下:

_root.s2_text.text="第一段文字\n\r"+"下一段文字"



Flash宣告陣列的方法

【一般陣列】

在 Flash 中宣告陣列的語法是「var 陣列名稱:Array = new Array(數量)」

若要宣告一個多維陣列則可使用下面的寫法:

//宣告一個三維陣列 tmp[4][3][2]
var tmp = new Array(4);
for ( var i=0; i<4; i++ )
{
tmp[i] = new Array(3);
for ( var j=0; j<3; j++ )
tmp[i][j] = new Array(2);
}

PS:取得陣列物件的元素個數,tmp.length。

【類別陣列】

var tmp:Array = new Array(3);
tmp[0] = new myClass();
tmp[1] = new myClass();
tmp[2] = new myClass();


【其它用途】

當函數需同時傳入或傳回多個變數時,可以利用陣列來實作。

flash跨場景傳遞變數

把變數放在根目錄下便可讓變數跨越場景
若場景內變數值都是設定為
score=int;
可以在換場時加上這一段
_root.score=score;
第二場開始時加入
score=_root.score;
如果score是在實體裡,則要寫成
_root.score=_root.實體名稱.score;

儘可能將變數值設定在根目錄下,也就是
_root.變數名稱
如此不論跑到什麼位置,都可讀到此值

2009年8月22日 星期六

xoops把標題修改為圖片

xoops把標題修改為圖片xoops把標題修改為圖片