数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
在PB应用中实现声音与动画

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

在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 编 程 中 可 以 调 用Windows 32-bit API 声 音 播 放 函 数
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) 单 击 声 音 或 动 画 菜 单 项( 工 具 图 标), 可 以 控 制 声 音 或 动 画 是 否 播 放。




相关文章

相关软件