羅見順網站
多媒體程式設計
(current)
3D遊戲引擎
行動遊戲程式設計
iOS APP程式設計
資料庫設計
電子商務網站設計
多媒體程式設計
ACP Animate 2022 認證考古題
學科講義
術科講義
教學錄影下載
練習檔下載
繪圖篇
Adobe CC Animate 2020
介紹繪圖常用手法
進入學習
>>
Action Script程式篇
Action Sript 3.0
進入學習
>>
考試
>>
Canvas動畫篇
HTML5 Canvas
JavaScript
進入學習
指派作業
系展指派作業(四媒一甲)
系展指派作業(技媒一甲)
指派作業列表
作品下載
指派2查詢
翻牌配對遊戲
遊戲FLA下載
場景設計PDF
左右比一比遊戲
遊戲FLA下載
翻牌配對場景設計PDF
01直升機旋轉影片片段元件
直升機旋轉動畫展示
天空與直升機圖片下載
Flash成果
02直升機前進動畫
直升機由下往上前進
Flash成果
03直升機元件反向
直升機轉向由上往下前進
Flash成果
元件轉向
04直升機移動程式控制
直升機轉向由上往下前進
Flash成果
三影格: 遊戲初始、遊戲變動、遊戲循環
gotoAndPlay(2);
var speed:int=2;
this.Helicopter.y+=speed;
if(Helicopter.y>540) Helicopter.y=0;
trace(Helicopter.y);
05元件產生與消失
直升機從紅線產生並穿越紅線消失
Flash成果
從元件庫設定直升機屬性匯出
自動生成元件;加入舞台中
元件消失
06元件中加入隨機左右擺動移動
SWF下載
Flash成果
直升機的起點X座標設定在(40-280)之間
HelicM_mc.x=Math.random()*240+40;
當直升機的Y座標超過400時刪除直升機
if(HelicM_mc.y>400) this.removeChild(HelicM_mc);
07-1 倒數十秒
SWF下載
Flash成果
新增動態文字: timer_txt
新增一個Timer(計時器): 1000為1秒觸發一次
var myTimer:Timer = new Timer(100);
myTimer.addEventListener(TimerEvent.TIMER, myTimerFunc);
TimerFunction.rtf
08生命值顯示
SWF下載
Flash成果
新增一個Lives元件,共有6個直升機的生命
每過1秒就跳一個元件影格
this.lives_mc.gotoAndStop(secondUsed+1);
09亂數移動
SWF下載
Flash成果
將直昇機停止運作
this["h0"+i+"_mc"].stop();
設定每三秒就啟動一台直升機
var total_time: int = 4 * 1000;
this["h0"+j+"_mc"].play();
每台直升機內部決定移動方式
速度為1~8之間
var speed:int=Math.random()*8+1;
左右移動1~8之間
var xMoveUnit:int =Math.random()*8+1;
10對準亂數目標移動
SWF下載
Flash成果
在直升機追擊這個元件內宣告一個指向目標物的X座標的變數
var aimX;
由於向下移動速度也是隨機,所以必須計算移動幾次就會到達終點
var times:int=Math.floor(480/speed);
每次移動逐漸逼近目標終點
xMoveUnit=(aimX-this.x)/times;
this.x+=xMoveUnit;
11 自動產生20台直升機飛向隨機選定目標,到達後自行毀滅
SWF下載
Flash成果
宣告20台直升機陣列與記錄其是否毀滅陣列
var HeliFly:Array=new Array(20);
var bLive:Array=new Array(20);
直升機生成
HeliFly[i]=new HelicAim();
this.addChild(HeliFly[i]);
隨機產生起點位置
HeliFly[i].x=Math.random()*240+40;
隨機產生終點位置
HeliFly[i].aimX=Math.random()*240+40;
判斷直升機是否活著?若活著且已到達終點便自我毀滅
this.removeChild(HeliFly[i]);
bLive[i]=false;
12 戰鬥機元件
SWF下載
Flash成果
13 顯示鍵盤碼
SWF下載
Flash成果
新增鍵盤事件監聽 KEY_DOWN
stage.addEventListener(KeyboardEvent.KEY_DOWN, playKeyDown);
function playKeyDown(event:KeyboardEvent)
var codeK:int = event.keyCode;
左(37)上(38)右(39)下(40)
14 鍵盤控制DOWN AND UP
SWF下載
Flash成果
新增鍵盤事件監聽 KEY_UP
stage.addEventListener(KeyboardEvent.KEY_UP, playKeyUp);
KEY_DOWN: 元件跳至顯示紅色
KEY_UP: 元件跳至顯示藍色
15 鍵盤控制戰鬥機
SWF下載
Flash成果
按下左鍵持續將戰鬥機位置x遞減
按下右鍵持續將戰鬥機位置x遞增
x有效範圍(0-262)
18 戰鬥機發射子彈
SWF下載
Flash成果
定義子彈共有10顆
const shootFire:int = 10;
戰機發射子彈
this["fire_mc" + shootCounter].play();
當子彈觸發時,就紀錄子彈使用中
parent["shootFlag" + num] = true;
取得子彈剛開始的出發座標
this.x = MovieClip(parent).actor_mc.x;
this.y = MovieClip(parent).actor_mc.y - 20;
當子彈飛出螢幕時,紀錄該子彈未使用中,
parent["shootFlag" + num] = false;
gotoAndStop("待命");
19 子彈擊中敵機
SWF下載
Flash成果
lasershot.wav設定類別為explode_sound
擊中時觸發聲音與消失動畫
var chanel:SoundChannel = (new explode_sound()).play();
被射中的敵機,移出場外
20 遊戲三段畫面
SWF下載
Flash成果
遊戲開始;遊戲中;遊戲結束
遊戲結束時動作
actor_mc.stopDrag();
bg_mc.removeEventListener(Event.ENTER_FRAME, shooting);
子彈發射頻率
設定ENTER_FRAME
bg_mc.addEventListener(Event.ENTER_FRAME,
shooting
);
function shooting(
event:Event
)
設定需要等待多少次才擊發
var ShootFrequency:int=12;
var ShootDelay:int=0;
ShootDelay=(ShootDelay+1) % ShootFrequency;
利用敵機是否在場內來判斷是否已經全部擊落
var bAllClear:Boolean=true;
for(i=1;i<=totalEnemy;i++)
if(this["enemy_mc" + i].x>0)
bAllClear=false;
break;
}
}
if(bAllClear==true)
gotoAndStop("遊戲結束");
21 Energy Bar
SWF下載
Flash成果
scaleX: 縮放橫向,0~1
loading_mc.bar_mc.scaleX = percentage/100;
結束時停止監聽
removeEventListener(Event.ENTER_FRAME, loading);
22 多重砲火
SWF下載
Flash成果
三顆子彈散開
23 作業討論1:輪番攻擊
SWF下載
Flash成果
20次攻擊1後自動產生攻擊2
23 作業討論2:簡易結構
Flash成果
敵機子彈與我方砲火的簡易結構
24 導引線製作多重路線
Flash成果
SWF檔
製作四種攻擊路線
利用導引線
25 按鈕控制角色動作
Flash成果
SWF檔
滑入、滑出、按下
角色動畫擺設方式
遊戲開發流程專案: 無限號太空歷險
參考網址
遊戲玩法確認:遊戲類型
角色設定: 主角機及敵機重製
動作設定: 主角機的射擊模式;敵機的飛行路線與射擊模式
道具設定:特殊道具
UI介面設計: 分數、生命值等
單元1
小算盤有限狀態機與分鏡表
小算盤之有限狀態機
小算盤之分鏡圖
討論1負浮點點數輸入及連續加減乘除
作業1.1如何修改現有的有限狀態機圖,以符合連續加減乘除的輸入?
作業1.2 製作動態分鏡
討論2 倒退鍵、浮點數、CE 與C的補充有限狀態機
加強S1及S3的細部有限狀態圖
倒退鍵:
S11若目前輸入的數字大於1位數,便倒退1位
S12若目前輸入的數字只有1位數,便歸0
單元2
小算盤之互動模擬
單元1所採用的分鏡圖為動畫方式
為了更準確地模擬測試各種狀況,加入按鈕輸入做測試
按鈕的製作
一般、滑入、按下、感應區
討論:
倒退鍵的製作
C & CE按鈕功能
浮點數的運算
單元3
Flash各項動畫技巧
案例1: 形狀補間 + 遮色片
案例2: 移動補間 + 遮色片
單元4 ActionScript程式設計I
實體名稱
播放函數與停止函數
資料
運算式與運算子
trace 函數
選擇結構
迴圈結構
屬性
實體深度
Math類別
String 類別
函數
不重複隨機亂數
實體主從關係
畫線段
填滿顏色
單元5 ActionScript程式設計II
滑鼠與拖曳影片片段
碰撞偵測
newline常數與Number函數
文字欄位物件
一維陣列
二維陣列
文字欄位陣列
載入文字檔
載入Flash檔(swf)或圖檔(jpg)
getBytesLoaded和getBytesTotal
實體事件處理常式
鍵盤
日期物件
setInterval與clearInterval
計時
單元5 1A2B猜數字專案
1A2B基本介面
不重複隨機亂數
一維陣列最大數
二維陣列成績計算
簡易時鐘
單元6 程式能力測驗
輸入兩數相加教學
成果示範
原始檔下載
For迴圈教學: 1+2+..+5=15
使用Trace顯示
原始檔下載
延伸練習: 1+2+...+n, n採用輸入文字可任意輸入正整數(預設值為3,條件限制必須大於等於3)
成果示範
練習檔下載
延伸練習: n!計算(條件限制 n>0 )
成果示範
練習檔下載
四個隨機亂數教學
成果示範
原始檔下載
四個不重複隨機亂數教學
成果示範
原始檔下載
組件TextArea教學
成果示範
原始檔下載
延伸作業: 數字比對+TextArea+算次數
成果示範
原始檔下載
延伸作業: 猜數字遊戲單機版
成果示範
原始檔下載
單元七元件產生器
文字影片片段陣列產生教學
成果示範
原始檔下載
產生25個賓果數字教學
成果示範
原始檔下載
4-2翻牌解密
成果示範
第一種寫法
第二種ForLoop寫法
實戰作業: 象棋暗棋
遊戲企劃
寫出傳統的遊戲規則
發想商業模式,遊戲幣使用規則
遊戲商城
遊戲美術
遊戲介面
棋盤版面
棋子影片片段
程式
隨機產生棋子
甲方選牌做翻牌移動吃牌
乙方選牌做翻牌移動吃牌
判斷輸贏
棄權按鈕
重玩按鈕
計分方式
單元八企劃書之文字與分鏡腳本
企劃書範本
PDF檔下載
WORD檔下載
素材
溪頭衛星
遊戲路線圖
遊戲分鏡腳本
路線圖Flash練習
單元九Unity之UI介面範例
FL01 Button
FL02 Pacman Clip
FL03 Play Button
FL04 Adjust Speed
FL05 Key Control Character
FL06 Timer
FL07 Random Positions
學生作品欣賞
勤益科技大學108秋資工產碩班
嚴敏誠
蔡沐霖
王義嘉
林子銘
林育聖
洪紹博
邱春茂
鐘文謙
吳政昇
黃崇瑋
熾瘟公2D動畫製程
作者
40648133鄭策
40648127蔡祥和
40648128蔡佳穎
40648129蔡懷宇
2020台南畫世代動畫影展-熾瘟公
展出時間地點
日期: 109年7月4日(六)
地點:台南新光影城4廳