之前附在GIMP-2.7.3 for windows(開發中的測試版本) 裡的版本無法正常運作
(要能運作,需將 lib\gimp\2.0\plug-ins 底下的 file-png.exe 刪除)
apng.zip 這是修改過後的版本,下載後,將它解壓縮至 settings\plug-ins 資料夾底下
2011年7月24日 星期日
2011年7月23日 星期六
AniFX Portable:另一款免費的游標製作軟體
AniFX Portable 跟 Greenfish Icon Editor Pro 一樣都是免費的游標編輯軟體
只是它是可攜式的,而且單純只是製作游標而已
雖是多國語言,但只有簡體中文,語言檔案在 AniFXPortable\App\AniFX\Languages 資料夾底下
下載:點 AniFX Portable 進入可攜式軟體官網連結,再點如下圖所示
基本操作:如何製作游標
首先按如下圖紅框游標所指處,來開一新檔案
新檔對話框如下圖,可選擇要製作動態或是靜態游標
之後,就可以用它提供的繪圖工具在工作區繪製圖像
如果是製作動態游標,做完一個影格後,如下圖,可以再新增影格
這是按插入新影格的對話框
當製作好游標之後,按下圖游標所指處來設定該游標的這點
設定熱點,按紅框游標所指處後,對話框會消失
這時,你就可在圖像工作區指定游標的熱點
完成游標後,可以按如下圖選單所指處或是紅框所指的圖示來測試所做的游標
這是測是的畫面
最後沒問題,就可以『 File 』->『 Save 』來儲存檔案了
製作游標的方式基本上就是如此
Greenfish Icon Editor Pro 的操作也差不多
用哪個,自己決定囉
只是它是可攜式的,而且單純只是製作游標而已
雖是多國語言,但只有簡體中文,語言檔案在 AniFXPortable\App\AniFX\Languages 資料夾底下
下載:點 AniFX Portable 進入可攜式軟體官網連結,再點如下圖所示
基本操作:如何製作游標
首先按如下圖紅框游標所指處,來開一新檔案
新檔對話框如下圖,可選擇要製作動態或是靜態游標
之後,就可以用它提供的繪圖工具在工作區繪製圖像
如果是製作動態游標,做完一個影格後,如下圖,可以再新增影格
這是按插入新影格的對話框
當製作好游標之後,按下圖游標所指處來設定該游標的這點
設定熱點,按紅框游標所指處後,對話框會消失
這時,你就可在圖像工作區指定游標的熱點
完成游標後,可以按如下圖選單所指處或是紅框所指的圖示來測試所做的游標
這是測是的畫面
最後沒問題,就可以『 File 』->『 Save 』來儲存檔案了
製作游標的方式基本上就是如此
Greenfish Icon Editor Pro 的操作也差不多
用哪個,自己決定囉
2011年7月18日 星期一
ActionScript3.0 寫了兩個沒什麼用的function
var ss:String = "";
function EnumNameOfChild(doc:DisplayObjectContainer):void {
for( var j = 0; j < doc.numChildren; j ++ ) {
trace(ss + doc.getChildAt(j).name);
if( doc.getChildAt(j) is DisplayObjectContainer ) {
ss += " ";
EnumNameOfChild(doc.getChildAt(j) as DisplayObjectContainer);
}
}
ss = ss.slice(0, ss.length - 2);
}
顯示舞台上所有物件的實體名稱,沒什麼實用性
只是用來看一下舞台上物件的架構而已
不過如果你是第一次寫程式,建議還是用一次看看
用法:
EnumNameOfChild(stage);
結果大概是這樣
root1
btn_Test01
mc_Test01
instance1
mc_Test02
instance13
function FindMCObject(doc:DisplayObjectContainer, name:String):MovieClip {
var mc:MovieClip = null;
try {
mc = doc.getChildByName(name) as MovieClip;
}
catch (e:SecurityError) {
trace(e);
}
if( mc ) return mc;
for( var j = 0; j < doc.numChildren; j ++ ) {
if( doc.getChildAt(j) is DisplayObjectContainer ) {
mc = FindMCObject(doc.getChildAt(j) as DisplayObjectContainer, name);
if( mc ) return mc;
}
}
return null;
}
搜尋舞台裡有沒有實體名稱叫做name的這個物件
應該稍微有點用處
用法:
var mc:MovieClip = FindMCObject(stage, "mc_Test01");
if( mc ) {
mc.visible = true;
mc.gotoAndPlay(0);
}
建議將元件庫裡的元件擺上舞台後,最好都能加以命名
否則你只會看到一堆instance而無從區別各個物件
function EnumNameOfChild(doc:DisplayObjectContainer):void {
for( var j = 0; j < doc.numChildren; j ++ ) {
trace(ss + doc.getChildAt(j).name);
if( doc.getChildAt(j) is DisplayObjectContainer ) {
ss += " ";
EnumNameOfChild(doc.getChildAt(j) as DisplayObjectContainer);
}
}
ss = ss.slice(0, ss.length - 2);
}
顯示舞台上所有物件的實體名稱,沒什麼實用性
只是用來看一下舞台上物件的架構而已
不過如果你是第一次寫程式,建議還是用一次看看
用法:
EnumNameOfChild(stage);
結果大概是這樣
root1
btn_Test01
mc_Test01
instance1
mc_Test02
instance13
function FindMCObject(doc:DisplayObjectContainer, name:String):MovieClip {
var mc:MovieClip = null;
try {
mc = doc.getChildByName(name) as MovieClip;
}
catch (e:SecurityError) {
trace(e);
}
if( mc ) return mc;
for( var j = 0; j < doc.numChildren; j ++ ) {
if( doc.getChildAt(j) is DisplayObjectContainer ) {
mc = FindMCObject(doc.getChildAt(j) as DisplayObjectContainer, name);
if( mc ) return mc;
}
}
return null;
}
搜尋舞台裡有沒有實體名稱叫做name的這個物件
應該稍微有點用處
用法:
var mc:MovieClip = FindMCObject(stage, "mc_Test01");
if( mc ) {
mc.visible = true;
mc.gotoAndPlay(0);
}
建議將元件庫裡的元件擺上舞台後,最好都能加以命名
否則你只會看到一堆instance而無從區別各個物件
訂閱:
文章 (Atom)