开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 575|回复: 21
收起左侧

[易语言纯源码] 【蠢新学汇编】窗口组件 缓动特效 通用版 首测

[复制链接]
结帖率:100% (3/3)
发表于 昨天 01:47 | 显示全部楼层 |阅读模式   贵州省毕节市
分享源码
界面截图:
是否带模块: 纯源码
备注说明: -
功能比较基础 暂不支持组件的大小变换 缓动算法也很基础 只是简单的匀速直线运动

好在也就使用起来比较方便 不用特定的容器 直接就能传需要被缓动的组件进去

小伙伴们有炫酷的缓动算法也可以提供一下 目前的匀速直线运动观感稍差

  
子程序名返回值类型公开备 注
通用缓动 只能传:窗口组件
参数名类 型参考可空数组备 注
通用组件通用型窗口 组件
横向移动整数型负左 正右
纵向移动整数型负上 正下
移动步骤整数型越大 越慢
变量名类 型静态数组备 注
移动组件外形框8 byte
横向目标整数型EBP-12
纵向目标整数型EBP-16
置入代码 ({ 54, 139, 85, 12, 54, 139, 69, 8, 54, 137, 69, 248, 54, 137, 85, 252 })
移动组件.激活 ()  ' 占位→ [EBP-4]
横向目标 = 移动组件.左边
纵向目标 = 移动组件.顶边
置入代码 ({ 131, 236, 8, 255, 117, 244, 255, 117, 240, 143, 69, 232, 143, 69, 236, 139, 69, 24, 49, 201 })
置入代码 ({ 65, 81, 80, 57, 193 })
置入代码 ({ 15, 143, 131, 0, 0, 0 })
置入代码 ({ 137, 198, 137, 207, 139, 69, 16, 247, 239, 247, 254, 3, 69, 236, 137, 69, 244, 139, 69, 20, 247, 239, 247, 254, 3, 69, 232, 137, 69, 240 })
延迟 (1)
移动组件.移动 (横向目标, 纵向目标, , )
置入代码 ({ 88, 89 })
置入代码 ({ 233, 114, 255, 255, 255 })
置入代码 ({ 131, 196, 8 })
置入代码 ({ 54, 199, 69, 248, 0, 0, 0, 0, 54, 199, 69, 252, 0, 0, 0, 0 })
子程序名返回值类型公开备 注
通用缓动_注释 只能传:窗口组件
参数名类 型参考可空数组备 注
通用组件通用型窗口 组件
横向移动整数型负左 正右
纵向移动整数型负上 正下
移动步骤整数型越大 越慢
变量名类 型静态数组备 注
移动组件外形框8 byte
横向目标整数型EBP-12
纵向目标整数型EBP-16
置入代码 ({ 54, 139, 85, 12, 54, 139, 69, 8, 54, 137, 69, 248, 54, 137, 85, 252 })
' MOV EDX, DWORD PTR SS:[EBP+0X0C]
' MOV EAX, DWORD PTR SS:[EBP+0X08]
' MOV DWORD PTR SS:[EBP-0X08], EAX
' MOV DWORD PTR SS:[EBP-0X04], EDX
移动组件.激活 ()  ' 占位→ [EBP-4]
横向目标 = 移动组件.左边
纵向目标 = 移动组件.顶边
置入代码 ({ 131, 236, 8, 255, 117, 244, 255, 117, 240, 143, 69, 232, 143, 69, 236, 139, 69, 24, 49, 201 })
' SUB ESP, 0X08
' PUSH DWORD PTR SS:[EBP-0X0C]
' PUSH DWORD PTR SS:[EBP-0X10]
' POP DWORD PTR SS:[EBP-0X18]
' POP DWORD PTR SS:[EBP-0X14]
' MOV EAX, DWORD PTR SS:[EBP+0X18]
' XOR ECX, ECX
置入代码 ({ 65, 81, 80, 57, 193 })
' 循环
' INC ECX
' PUSH ECX
' PUSH EAX
' CMP ECX, EAX
置入代码 ({ 15, 143, 131, 0, 0, 0 })
' JG 退出
置入代码 ({ 137, 198, 137, 207, 139, 69, 16, 247, 239, 247, 254, 3, 69, 236, 137, 69, 244, 139, 69, 20, 247, 239, 247, 254, 3, 69, 232, 137, 69, 240 })
' MOV ESI, EAX
' MOV EDI, ECX
' MOV EAX, DWORD PTR SS:[EBP+0X10]
' IMUL EDI
' IDIV ESI
' ADD EAX, DWORD PTR SS:[EBP-0X14]
' MOV DWORD PTR SS:[EBP-0X0C], EAX
' MOV EAX, DWORD PTR SS:[EBP+0X14]
' IMUL EDI
' IDIV ESI
' ADD EAX, DWORD PTR SS:[EBP-0X18]
' MOV DWORD PTR SS:[EBP-0X10], EAX
延迟 (1)
移动组件.移动 (横向目标, 纵向目标, , )  ' 随意增减代码会导致跳转错乱 非汇编爱好者 莫要乱动
置入代码 ({ 88, 89 })
' POP EAX
' POP ECX
置入代码 ({ 233, 114, 255, 255, 255 })
' JMP 循环
置入代码 ({ 131, 196, 8 })
' 退出:
' ADD ESP, 0X08
置入代码 ({ 54, 199, 69, 248, 0, 0, 0, 0, 54, 199, 69, 252, 0, 0, 0, 0 })
' MOV DWORD PTR SS:[EBP-0X08], 0X00
' MOV DWORD PTR SS:[EBP-0X04], 0X00



i支持库列表   支持库注释   
spec特殊功能支持库

  
子程序名返回值类型公开备 注
组件获取 首参到首变量(须皆为窗口组件)
置入代码 ({ 93, 54, 139, 85, 12, 54, 139, 69, 8, 54, 137, 69, 248, 54, 137, 85, 252, 195 })
' POP EBP
' MOV EDX,DWORD PTR SS:[EBP+12]
' MOV EAX,DWORD PTR SS:[EBP+8]
' MOV DWORD PTR SS:[EBP-8],EAX
' MOV DWORD PTR SS:[EBP-4],EDX
' RET
子程序名返回值类型公开备 注
组件释放 局部首变量置空指针避免被释放
置入代码 ({ 93, 54, 199, 69, 248, 0, 0, 0, 0, 54, 199, 69, 252, 0, 0, 0, 0, 195 })
' POP EBP
' MOV DWORD PTR SS:[EBP-8],0
' MOV DWORD PTR SS:[EBP-4],0
' RET


来自群组: 热心网友

缓动测试.e

342.27 KB, 下载次数: 15, 下载积分: 精币 -2 枚

测试用例 意见收集中~~~

评分

参与人数 3好评 +2 精币 +4 收起 理由
李泽勇2 + 1 + 3 开源精神必须支持~
kyo9766 + 1 感谢分享,很给力!~
多多帅吧 + 1 很赞同,谢谢!

查看全部评分


签到天数: 14 天

发表于 1 小时前 | 显示全部楼层   浙江省宁波市
感谢分享,支持开源!!!
回复 支持 反对

使用道具 举报

签到天数: 11 天

发表于 昨天 18:29 | 显示全部楼层   黑龙江省哈尔滨市
[原创] 可打断缓动动画 极致丝滑
https://bbs.125.la/forum.php?mod=viewthread&tid=14761065
(出处: 精易论坛)

自我推荐一下缓动

点评

你都用类了 直接类里面启动线程 比时钟干净整洁 我捣鼓这玩意 目的就是为了让缓动调用变得更简单 设计好了还会再更新 现在是测试组件是否通用   贵州省毕节市  发表于 昨天 19:13

评分

参与人数 1好评 +1 精币 +3 收起 理由
笨来无一悟 + 1 + 3 功德+1

查看全部评分

回复 支持 反对

使用道具 举报

结帖率:100% (7/7)

签到天数: 10 天

发表于 昨天 16:50 | 显示全部楼层   湖北省武汉市
感谢分享
回复 支持 反对

使用道具 举报

结帖率:95% (42/44)

签到天数: 11 天

发表于 昨天 15:54 | 显示全部楼层   湖北省荆门市
牛逼!!!
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)

签到天数: 6 天

发表于 昨天 14:28 | 显示全部楼层   广东省江门市
  感谢分享,很给力!~
回复 支持 反对

使用道具 举报

结帖率:80% (4/5)

签到天数: 3 天

发表于 昨天 14:05 | 显示全部楼层   山东省潍坊市
已经顶贴,感谢您对论坛的支持!
回复 支持 反对

使用道具 举报

签到天数: 14 天

发表于 昨天 12:33 | 显示全部楼层   福建省宁德市
感谢分享
回复 支持 反对

使用道具 举报

结帖率:100% (4/4)

签到天数: 15 天

发表于 昨天 11:16 | 显示全部楼层   山东省济南市
感谢大神分享~!
回复 支持 反对

使用道具 举报

结帖率:33% (1/3)
发表于 昨天 09:46 | 显示全部楼层   湖南省长沙市
感谢分享,很给力!~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表