- 1
- 0
- 约1.03万字
- 约 9页
- 2017-09-02 发布于天津
- 举报
程式设计简介与流程规划
程式設計簡介與流程規劃 C
h
a
p
t
e
在遊戲中,常會使用條狀的動態圖示來顯示遊戲的訊息。在本範例中,以條狀的 r
08
動態圖表示主角生命值的血量 ,當主角碰到敵人的時候 ,主角的生命值會呈現出
血量減少的狀態 ,也就是條狀的動態圖會越來越短 ,當血條歸零的時候 ,遊戲就
結束 。為了增加遊戲的緊湊感 ,往往會加入一些限時的任務給玩家挑戰 ,因此還
設計一種條狀的計時器 ,當在遊戲進行中,此條狀計時器會獨立計時 ,隨著遊戲
進行 ,此條狀的計時器的圖示會越來越短 ,當時間倒數達到給定的時間就結束本分 積 算 計 與 果 成 錄 記
遊戲 。本範例將學習兩個重點 。第一個重點是利用連續碰撞來改變血量的影片片
段的長度 ,第二個重點是計時器的設計與使用 。
重點 1 利用連續碰撞來改變代表血量的影片片段的長度
有關碰撞的相對討論我們在前面的範例已經有研究探討過 ,而之前的碰撞大都是
屬於一次碰撞的情況 。所謂一次碰撞是說 ,當兩物件被偵測碰撞時 ,程式依碰撞
條件改變兩物的動態 ,因此碰撞條件即消失 。例如當主角碰到障礙物 ,程式馬上
重設 ,主角即改變位置 ,因此碰撞不再產生 。飛舞的金幣產生碰撞時 ,程式馬上
改變金幣的位置 ,所以金幣碰撞的情形改為分離 ,這些動作都在瞬間執行完成 。
本範例中,我們使用鍵盤控制主角移動或是跳躍 ,當主角與敵人互相接觸後 ,必須
等主角移動離開後主角與敵人的碰撞才會結束 ,這種碰撞我們稱之為連續碰撞 。
使用影格監聽中的ENT ER_ FRA ME 事件來處理此碰撞情形 ,一般而言 ,影格速率
為24f ps ,也就是監聽事件每秒會執行24 次 ,利用此次數頻率 ,將可用主角血量
的條狀圖影片片段來遞減寬度 。因此就可以使血量的條狀圖示產生一直縮短的效
果 ,其程式如下 :
addEventListener (Event.ENTER_FRAME,_playHit);
function _playHit (e:Event):void {
if (Object.hitTestObject (player.HitArea)) {
health.width- 1;
}
}
其中healt h.widt h 表示血量的條狀影片片段寬度 。
8-21
重點2 計時器的設計與使用
在ActionScript 3.0 中處理計時功能時 ,一般會使用T imer 類別 ,每當達到指定的
時間間隔 ,這個類別就會傳送事件 。當要用計時器 ,必須先建立T imer 類別的實
體 ,並指示計時器事件的頻率 ,以及要產生多少次事件才停止 。例如 ,下列程式
碼會建立一個oneMinuteT imer 變數 ,對應T imer 實體 ,每秒傳送一次事件 ,持續
您可能关注的文档
- 物理模型光谱模拟误差对冬小麦叶面积指数高光谱反演的影响.pdf
- 加热丝上过冷池沸腾汽泡射流现象及其模拟 - science china .pdf
- 悬挂结构体系地震响应特性及其突变性分析 - 地震工程与工程振动.pdf
- 高光谱遥感土壤湿度信息提取研究 - 土壤学报.pdf
- 1 第2章农业概说 农业系统 农业系统:投入过程产出回馈模式 系统要素 .doc
- 煤炭地下气化模型试验研究现状与发展.pdf
- 基于sigmoid 函数的离轴照明光源全参数解析模型 - 物理学报.pdf
- 生物质碳纤维基tio 2 纳米复合光催化剂的制备与特性研究 - 基地物理.pdf
- 压缩性能的有限元法研究 - 电子科学技术.pdf
- 内转塔式系泊fpso模型试验研究.pdf
原创力文档

文档评论(0)