.版本 2
.支持库 iext
.支持库 EThread
.程序集 窗口程序集1
.程序集变量 坐标_X, 整数型, , "0", 心形位置坐标
.程序集变量 坐标_Y, 整数型, , "0", 如上
.程序集变量 屏幕, 屏幕RECT
.程序集变量 玫瑰, 图片资源
.程序集变量 延时_, 延时
.程序集变量 文本数据, 文本数据
.程序集变量 临时_图按钮, 图形按钮
.程序集变量 数组_图按钮, 图形按钮, , "0"
.程序集变量 停止闪烁, 整数型
.程序集变量 信息框文本, 文本型, , "0"
.程序集变量 线程句柄, 整数型
.子程序 __启动窗口_创建完毕
读入资源配置 ()
屏幕.宽度 = 取屏幕宽度 ()
屏幕.高度 = 取屏幕高度 ()
_启动窗口.移动 (0, 0, 屏幕.宽度, 屏幕.高度)
图片框_背景.移动 (0, 0, 屏幕.宽度, 屏幕.高度)
图片框_背景.图片 = 玫瑰.背景
图形按钮1.正常图片 = 玫瑰.正常
图形按钮1.点燃图片 = 玫瑰.热点
图形按钮1.按下图片 = 玫瑰.正常
图形按钮1.透明颜色 = #品红
坐标_X = { 342, 307, 250, 168, 97, 48, 20, 12, 19, 49, 100, 160, 221, 277, 324, 345, 389, 433, 489, 551, 610, 659, 674, 674, 671, 644, 595, 518, 451, 400 }
坐标_Y = { 81, 23, -23, -41, -19, 31, 93, 157, 220, 278, 327, 367, 404, 449, 491, 540, 485, 436, 388, 348, 301, 250, 192, 132, 77, 26, -20, -37, -25, 22 }
' * 数组:30{342,307,250,168,97,48,20,12,19,49,100,160,221,277,324,345,389,433,489,551,610,659,674,674,671,644,595,518,451,400}
' * 数组:30{81,23,-23,-41,-19,31,93,157,220,278,327,367,404,449,491,540,485,436,388,348,301,250,192,132,77,26,-20,-37,-25,22}
播放MP3 (-1, 取运行目录 () + “\Default\Music_BG.mp3”)
' 预备好字幕窗口
载入 (字幕窗口, , 假)
字幕窗口.标签1.标题 = 文本数据.字幕
字幕窗口.标签1.文本颜色 = 文本数据.Color
_启动窗口.透明标签_姓名.文本颜色 = 文本数据.Color
.子程序 读入资源配置
玫瑰.背景 = 读入文件 (取运行目录 () + “\Default\MGH_BG.gif”)
玫瑰.正常 = 读入文件 (取运行目录 () + “\Default\MGH_Default.bmp”)
玫瑰.热点 = 读入文件 (取运行目录 () + “\Default\MGH_Focus.bmp”)
' ------------------------
文本数据.字幕 = 到文本 (读入文件 (取运行目录 () + “\Default\Subtitle.txt”))
文本数据.姓名 = 读配置项 (取运行目录 () + “\Default\Config.ini”, “Love”, “Name”, “未导入姓名”)
文本数据.Color = 到整数 (读配置项 (取运行目录 () + “\Default\Config.ini”, “Color”, “Color”, “255”))
信息框文本 = 分割文本 (到文本 (读入文件 (取运行目录 () + “\Default\MsgBox.txt”)), #换行符, )
' 延时定义配置
延时_.字幕 = 到整数 (读配置项 (取运行目录 () + “\Default\Config.ini”, “Delay”, “Subtitle”, “10”))
延时_.闪烁 = 到整数 (读配置项 (取运行目录 () + “\Default\Config.ini”, “Delay”, “Flicker”, “200”))
延时_.绘制玫瑰 = 到整数 (读配置项 (取运行目录 () + “\Default\Config.ini”, “Delay”, “Painting”, “300”))
.子程序 __启动窗口_首次激活
效果 ()
.子程序 效果
.局部变量 计次, 整数型
' 字幕显示 北漂族360lifer.com
.计次循环首 (21 × 取文本行数 (文本数据.字幕) + 屏幕.高度, 计次)
字幕窗口.移动 (0, 屏幕.高度 - 计次, 屏幕.宽度, 屏幕.高度)
处理事件 ()
延时 (延时_.字幕)
.计次循环尾 ()
字幕窗口.销毁 ()
_启动窗口.总在最前 = 真
' 开始画玫瑰花心了........
透明标签_姓名.标题 = 文本数据.姓名
透明标签_姓名.移动 (屏幕.宽度 ÷ 2 - 透明标签_姓名.宽度 ÷ 2, 屏幕.高度 ÷ 2 - 透明标签_姓名.高度 ÷ 2, , )
图形按钮1.移动 (坐标_X [1] + 屏幕.宽度 ÷ 2 - 800 ÷ 2, 坐标_Y [1] + 屏幕.高度 ÷ 2 - 600 ÷ 2, , )
图形按钮1.可视 = 真
.计次循环首 (取数组成员数 (坐标_X) - 1, 计次)
处理事件 ()
延时 (延时_.绘制玫瑰)
复制窗口组件 (图形按钮1, 临时_图按钮)
临时_图按钮.透明颜色 = #品红
临时_图按钮.正常图片 = 玫瑰.正常
临时_图按钮.点燃图片 = 玫瑰.热点
临时_图按钮.按下图片 = 玫瑰.正常
临时_图按钮.移动 (坐标_X [计次 + 1] + 屏幕.宽度 ÷ 2 - 800 ÷ 2, 坐标_Y [计次 + 1] + 屏幕.高度 ÷ 2 - 600 ÷ 2, , )
临时_图按钮.标记 = 到文本 (计次 + 1)
临时_图按钮.可视 = 真
加入成员 (数组_图按钮, 临时_图按钮)
.计次循环尾 ()
透明标签_姓名.标题 = 文本数据.姓名
透明标签_姓名.移动 (屏幕.宽度 ÷ 2 - 透明标签_姓名.宽度 ÷ 2, 屏幕.高度 ÷ 2 - 透明标签_姓名.高度 ÷ 2, , )
透明标签_姓名.可视 = 真
' 依次闪烁....
_启动窗口.Esc键关闭 = 真
启动线程 (&玫瑰闪烁, , 线程句柄)
.子程序 玫瑰闪烁
.局部变量 计次, 整数型
.判断循环首 (停止闪烁 = 0)
图形按钮1.正常图片 = 玫瑰.热点
.计次循环首 (取数组成员数 (数组_图按钮), 计次)
数组_图按钮 [计次].正常图片 = 玫瑰.热点
.如果 (计次 = 1)
图形按钮1.正常图片 = 玫瑰.正常
.否则
数组_图按钮 [计次 - 1].正常图片 = 玫瑰.正常
.如果结束
.如果真 (停止闪烁 ≠ 0)
数组_图按钮 [计次].正常图片 = 玫瑰.正常
跳出循环 ()
.如果真结束
处理事件 ()
延时 (延时_.闪烁)
.计次循环尾 ()
数组_图按钮 [取数组成员数 (数组_图按钮)].正常图片 = 玫瑰.正常
.判断循环尾 ()
.子程序 _按钮1_被单击
结束 ()
.子程序 _图片框_背景_被双击, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
.如果 (停止闪烁 = 0)
停止闪烁 = 25
.否则
停止闪烁 = 0
启动线程 (&玫瑰闪烁, , 线程句柄)
.如果结束
.子程序 _图形按钮1_被单击
.局部变量 _标记, 整数型
.局部变量 临时信息框, 文本型, , "2"
临时_图按钮 = 取事件组件 ()
_标记 = 到整数 (临时_图按钮.标记)
.如果真 (_标记 > 取数组成员数 (信息框文本))
信息框 (“祝天下人有情人终成眷属!!”, 0 + 262144, “Love”)
返回 ()
.如果真结束
临时信息框 = 分割文本 (信息框文本 [_标记], “|”, )
信息框 (临时信息框 [1], 0 + 262144, 临时信息框 [2])
.子程序 _图片框_背景_鼠标右键被放开, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
弹出菜单 (菜单, , )
.子程序 _退出程序_被选择
结束 ()
.子程序 __启动窗口_将被销毁
强制结束线程 (线程句柄)