在PB應用中實現聲音與動畫 (轉)
在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) 單 擊 聲 音 或 動 畫 菜 單 項( 工 具 圖 標), 可 以 控 制 聲 音 或 動 畫 是 否 播 放。
---- 在 設 計 應 用 程 序 過 程 中, 恰 當 地 應 用 電 腦 聲 音 與 動畫 技 術, 可 以 為 用 戶 提 供 更 加 直 觀、友 好、 引 人 注 目 的 操 作 界 面。 下 面 筆 者 介 紹 一 下 在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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 在C#中利用DirectX實現聲音播放(轉)C#
- 怎樣在PB中實現檔案的複製與刪除 (轉)
- Flutter進階:在應用中實現 Hero(飛行) 動畫Flutter動畫
- VC實現動畫應用兩則 (轉)動畫
- 聲控小助手:文字語音呼喚技術的應用與實現
- 在應用程式中實現RAS撥號 (轉)
- 用JavaScript實現動畫效果 (轉)JavaScript動畫
- 商品API資料在電商中的應用與實現API
- Android中實現錄製內建聲音Android
- 動畫利器-lottie在懂表帝App中的實戰應用動畫APP
- Linux高階應用CpuMemSets在Linux中的實現(轉)Linux
- 教你在“狼人殺”中實現變聲效果
- 如何基於實時聲紋變聲實現對聲音的“克隆”
- MRCP在美團語音互動中的實踐和應用
- 用J2ME在移動裝置上實現動畫(轉)動畫
- dbms_job包的應用:在Oracle中實現定時操作(轉)Oracle
- Pb中多使用者許可權管理實現方案 (轉)
- 【PB】powerbuilder中xml的應用一例UIXML
- PB中位操作的實現程式碼
- WebRTC – Agora (聲網)簡介與實現音視訊通話WebGo
- 「譯」有限狀態機在 CSS 動畫中的應用CSS動畫
- iOS端音訊邊錄邊轉和聲波圖的實現iOS音訊
- Redis 在 Web 專案中的應用與實踐RedisWeb
- Redis在Web專案中的應用與實踐RedisWeb
- ERP在會計與財務管理中應用(轉)
- 遞迴在C++應用中的利與弊 (轉)遞迴C++
- MVC模式在Java Web應用程式中的實現MVC模式JavaWeb
- sqlserver在JAVA中的應用 (轉)SQLServerJava
- 仿QQ錄音以及振幅動畫實現動畫
- 在Weblogic環境下的servlet中實現應用級身份認證 (轉)WebServlet
- 單例模式的幾種實現與在Android原始碼中的應用單例模式Android原始碼
- pb實現列印中人民幣大寫 (轉)
- Disruptor在雲音樂特徵服務中的應用特徵
- VoIP Push 在海外音視訊業務中的應用
- Oracle與SQL Server在企業應用中的比較(轉)OracleSQLServer
- Thunk程式的實現原理以及在iOS中的應用iOS
- Cookie、Session、JWT在koa中的應用及實現原理CookieSessionJWT
- HTTP/2特性及其在實際應用中的表現HTTP