在PB應用中實現聲音與動畫 (轉)

worldblog發表於2007-12-06
在PB應用中實現聲音與動畫 (轉)[@more@]在PB應用中實現與動畫
---- 在 設 計 應 用 程 序 過 程 中, 恰 當 地 應 用 電 腦 聲 音 與 動畫 技 術, 可 以 為 用 戶 提 供 更 加 直 觀、友 好、 引 人 注 目 的 操 作 界 面。 下 面 筆 者 介 紹 一 下 在PowerBuild 應 用 中 實 現 聲 音 與 動 畫 的 一 種 簡 便 方 法:
1.作 為 舉 例, 創 建 一 個MDI 風 格 的 窗 口w_audani。 在 這 個 視窗 上 放 置 一 個 含 聲 音、 動 畫 兩 個 帶 圖 標 的 菜 單 項 的 選單m_audani, 一 個 圖 象 框p_1。 整 個 窗 口 的 外 觀 如 下:
2.制 備 聲 音 和 圖 象 文 件。 本 例 中 選 用 了 一 個adu.wav 的 聲音 文 件 和 四 個ani1.bmp、ani2.bmp 、ani3.bmp、ani4.bmp 用 於 動 畫 素 材 的 分 離 圖 象 文 件。
3.定 義 程 序 編 制 中 要 用 到 的 變 量: (1) 定 義 一 個 整 型 實 例 變 量, 用 作 圖 象 計 數 integer picturenub (2) 定 義 一 個 外 部 函 數, 使 在PowerBuild 編 程 中 可 以 調 用 32-bit 聲 音 播 放 函 數
function boolean sndplaysounda
(string soundname, uint flags) &
library "winmm.dll"
4.為 窗 口w_audani 編 制 事 件 處 理 程 序。 程 序 行 中// 後 的 為說 明 文 字。
(1) 在 窗 口 的 打 開(Open) 事 件 下 輸 入 程 序:
//聲音選單項置選中屬性
m_audani.m_1.m_aud.checked = true
//動畫選單項置選中屬性
m_audani.m_1.m_ani.checked = true
//圖象計數器置初值
picturenub = 1
//定義每隔半秒鐘觸發一次視窗的timer事件
timer(0.5,this)
---- (2) 在 窗 口 的 計 時 器(Timer) 事 件 下 輸 入 程 序:
---- // 如 果 聲 音 菜 單 項 被 選 中, 則 調 用Windows 32-bit API 聲 音 播 放 函 數 播 放 聲 音 文 件。 函 數 第 一 個 參 數 指 出 要 播 放 的 聲 音 文 件 名, 第 二 個 指 出 函 數 播 放 屬 性, 屬 性3 為 異 步、 不 缺 省
IF m_audani.m_1.m_aud.checked = true THEN
sndplaysounda("aud.wav",3)
END IF
//如果動畫選單項被選中,則動畫
IF m_audani.m_1.m_ani.checked = true THEN
CHOOSE CASE picturenub
//當圖象計數為1時,播放第1張圖象
CASE 1
p_1.picturename = "ani1.bmp"
//當圖象計數為2時,播放第2張圖象
CASE 2
p_1.picturename = "ani2.bmp"
//當圖象計數為3時,播放第3張圖象
CASE 3
p_1.picturename = "ani3.bmp"
//當圖象計數為4時,播放第4張圖象
CASE 4
p_1.picturename = "ani4.bmp"
//恢復圖象計數
picturenub = 0
END CHOOSE
//圖象計數增1
picturenub ++
END IF
5.為 菜 單m_audani 編 制 事 件 處 理 程 序:
(1) 在 菜 單 項 聲 音(m_aud) 的 單 擊(Clicked) 事 件 下 輸 入 程 序:
// 使 該 菜 單 項 的 選 中 屬 性 反 轉 起 到 開 關 的 作 用, 即 原 來為 選 中 的 變 為 不 選 中, 未 選 中 的 則 現 在 變 成 選 中
this.checked = not this.checked
(2) 在 菜 單 項 動 畫(m_ani) 的 單 擊(Clicked) 事 件 下 輸 入 程 序:
//同樣,使該選單項的選中屬性反轉
this.checked = not this.checked
6.執 行 該 程 序 的 大 致 情 況 是:
(1) 啟 動 程 序 後, 自 動 打 開 以 上 圖 示 的 窗 口;
(2) 窗 口 計 時 器 按 每 半 秒 鍾 觸 發 一 次 事 件 處 理 程 序, 播 放 聲 音 和 圖 象 文 件, 周 而 復 始 以 產 生 動 畫 效 果;
(3) 單 擊 聲 音 或 動 畫 菜 單 項( 工 具 圖 標), 可 以 控 制 聲 音 或 動 畫 是 否 播 放。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-989066/,如需轉載,請註明出處,否則將追究法律責任。

相關文章