Database 版 (精华区)

发信人: mengy (LEAR DLLS 命令时,将从内存中清除), 信区: Database
标  题: VISUAL FOXPRO 5.0 动 画 设 计
发信站: 哈工大紫丁香 (2000年12月13日09:19:01 星期三), 站内信件

 
 

VISUAL FOXPRO 5.0 动 画 设 计 
江 苏 省 镇 江 港 务 局 微 机 室
蔡 可 训 
---- VISUAL FOXPRO 是 目 前 国 内 非 常 流 行 的 可 视 化 数 据 库 开 发
 工 具, 它 以 强 大 的 功 能, 便 捷 的 开 发 方 法 深 受 广 大 用 户 
的 喜 爱。 而 动 画 功 能 一 直 是3DSTUDIO、PHOTOSHOP、VISUAL BASIC 等 
软 件 制 作 工 具 的 开 发 专 利, 是 否 数 据 库 软 件 中 就 真 的 不 
能 实 现 动 画 功 能 呢 ? 

---- 回 答 是 否 定 的。 下 面 我 就 详 细 告 诉 你 如 何 在VISAUL 
FOXPRO 5.0 中 进 行 实 现 动 画 设 计。 

---- 为 了 使 动 画 效 果 更 加 逼 真, 通 常 采 用 电 视 动 画 片 的 制
 作 方 法, 即 将 一 个 连 续 的 动 作 分 解 为 若 干 个 非 连 续 的 子
 动 作, 通 过 定 时 器 定 时 调 用 各 个 子 动 作, 依 靠 人 的 视 觉 
暂 留 使 动 作 看 起 来 就 好 象 是 一 组 连 续 的 动 作。 在VFP 中 可 
将 分 解 的 动 作 存 于 图 像 框 内, 结 合MOVE 方 法 和 计 时 器 产 生
 动 画 效 果。 

---- ★ 实 现 目 的: 让 蝴 蝶 展 开 翅 膀 飞 起 来。 

---- ★ 实 现 原 理: 设 定 三 个 蝴 蝶 图 标, 其 中 二 个 张 开 翅 膀
( 或 合 上 翅 膀)、 一 个 合 上 翅 膀( 或 张 开 翅 膀)。 将 一 个 图
 标 作 为 移 动 的 蝴 蝶( 设 置 为 可 见), 其 它 两 个 图 标 设 置 为 
不 可 见。 利 用timer 控 件 的Interval 属 性 设 置 的 时 间 间 隔 来 交
 替 切 换 张 开 翅 膀 和 合 上 翅 膀 两 个 图 标, 达 到 蝴 蝶 拍 动 翅
 膀,“ 动 起 来” 的 效 果。 再 利 用 控 件 的MOVE 方 法 达 到 蝴 蝶“
 飞 起 来” 的 效 果。 图 标 如 下: 

---- 文 件 名: BFLY1.BMP BFLY2.BMP 

---- ★ 应 用 实 例: 在VFP 5.0 中 实 现 动 画 功 能。 

---- 实 例 一: 实 现" 让 蝴 蝶 动 起 来" 的 动 画 效 果。 用 于 应 用 系
 统 的 帮 助 说 明。 

---- ① 建 立 含 有 如 下 控 件 的 窗 体FORM: 

控件   CAPTION   NAME  FORECOLOR FONTSIZE PICTURE  
窗体实现"让蝴蝶动起来"的动画效果。  FORM1
标签实例一:实现"让蝴蝶动起来"的动画效果。
LABEL1 0,0,255   12
标签编制者:蔡可训 1998年7月16日 
       LABEL2 255,0,0   12
图像框   BTRFLY      BFLY2.BMP
图像框   BTRFLY1     BFLY1.BMP
图像框   BTRFLY2     BFLY2.BMP
命令按钮 退 出      COMMAND1
---- ② 程 序 清 单: 

在FORM1_ACTIVATE事件中,输入下列语句:
public flap
flap=0   
&&定义控制是张开翅膀还是合上翅膀位图的切换变量
thisform.btrfly.visible=.t.
thisform.btrfly1.visible=.f.
thisform.btrfly2.visible=.f.
thisform.timer1.interval=200    
在TIMER1_TIMER事件中,输入下列语句:
if flap=0   &&交替切换两幅位图
   thisform.btrfly.Picture=thisform.btrfly1.Picture &&
换上张开翅膀位图
   flap=1
else
 thisform.btrfly.Picture=thisform.btrfly2.Picture && 
否则为合上翅膀位图
 flap=0
endi
在COMMAND1_CLICK事件中,输入下列语句:
release thisform
---- 实 例 二: 实 现" 让 蝴 蝶 飞 起 来" 的 动 画 效 果。 

---- ① 建 立 含 有 如 下 控 件 的 窗 体FORM: 

控件   CAPTION NAME  FORECOLOR FONTSIZE PICTURE 
窗体实现"让蝴蝶飞起来"的动画效果。 FORM1 
图像框 MAIN BFLY1.BMP
图像框 CLOSEWINGS    BFLY2.BMP
图像框 OPENWINGS     BFLY1.BMP
命令按钮退 出  COMMAND1

      ②程序清单:
在FORM1_ACTIVATE事件中,输入下列语句:
public pickbmp
pickbmp=.t.
thisform.main.visible=.t.
thisform.openwings.visible=.f.
thisform.closewings.visible=.f.
thisform.timer1.interval=200    
在TIMER1_TIMER事件中,输入下列语句:
thisform.main.move (thisform.main.left+20,thisform.main.top-5)
if thisform.main.left >thisform.width &&判别是否飞出窗体
      thisform.main.move (20,thisform.height-20)
 &&将位图移到左下角准备向右飞
endi 
if pickbmp 
&&交替切换两幅位图,同时将位图沿着一定轨迹移动。
 thisform.main.picture=thisform.openwings.picture && 
换上张开翅膀的位图
else
thisform.main.picture=thisform.closewings.picture &&
换上合上翅膀的位图
endi
pickbmp=.not.pickbmp
在COMMAND1_CLICK退出事件中,输入下列语句:
release thisform
以上程序在同创P/200,WINDOWS 95,
Visual Foxpro 5.0中文版软硬件环境下运
行通过。

 

 

--

       大海无边天做岸
               山登绝顶我为风

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.227.121]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.524毫秒