开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 3600|回复: 11
收起左侧

[图文资料] 新人向 动画框 移动和碰撞教程(无模块)

[复制链接]
发表于 2022-6-28 11:15:40 | 显示全部楼层 |阅读模式   四川省成都市
本帖最后由 bbgzzg 于 2022-6-28 11:15 编辑

这几天摸索了一下动画框  教程主要还是新人向的 做了一下控制人物移动 、 碰撞方向返回 、 碰撞停止该方向移动 、 地图或动画框移动、 这些应该是很早就有的  不过易语言的自带碰撞效果大家都知道,花了几天时间想了个另外的法子  详细见图和源码

话说怎么发不需要币的  免费的附件啊
——https://wwn.lanzouf.com/ii47v071ghli——源码 只有扩展组件(无模块) 免费的我只能发链接  不能直接放进去
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
变量名类 型数组备 注
物体1整数型  
地图整数型  
pass点整数型  
重叠了逻辑型  
整数型  
整数型  
整数型  
整数型  
是否走到终点逻辑型  

子程序名返回值类型公开备 注
__启动窗口_创建完毕  
地图 = 动画框1.创建物体 (动画物体1, 0, 0, 真, )  ' 这里我在界面扔了动画物体就直接可以创建动画物体1  不用过多的参数设置
物体1 = 动画框1.创建物体 (动画物体2, 10, 10, 真, )  ' 这里和上面一样的
pass点 = 动画框1.创建物体 (, 1900, 830, 真, )  ' 这里是直接用代码设置动画物体   需要多设置几行 动画物体是 【图片】还是 【文字】 。 能否碰撞。 层次多少。
动画框1.置图片 (pass点, #pass点, )  ' 设置他的图片
动画框1.置碰撞管理 (pass点, 真, )  ' 设置可以碰撞
动画框1.置层次 (pass点, 1)  ' 设置他的层次  一定要和需要碰撞的物体一个层次
动画框1.添加监视键 (10, #W键 )
动画框1.添加监视键 (10, #S键 )
动画框1.添加监视键 (10, #A键 )
动画框1.添加监视键 (10, #D键 )
子程序名返回值类型公开备 注
_动画框1_碰撞到边界逻辑型 
参数名类 型参考可空数组备 注
物体标识值整数型
碰撞前横坐标整数型
碰撞前纵坐标整数型
边界类型整数型
如果真 (物体标识值 = 物体1)
动画框1.置物体位置 (物体1, 碰撞前横坐标, 碰撞前纵坐标, )

子程序名返回值类型公开备 注
_动画框1_监视键被按下 我将上下左右分成4个不同的字母  然后检测动画物体是否重叠  如果重叠 编辑框里面就放重叠的那个字母  相当于锁住 然后再次检测按键的时候  如果编辑框里面是那个字母 那么这个按键就不生效(解锁的话  只要按下了其他3个方向的任意一个 就可以解锁)
参数名类 型参考可空数组备 注
键代码整数型
功能键状态整数型
如果 (键代码 = #A键 编辑框1.内容 ≠ “z”)  ' 健代码是 a  并且编辑框里面没有 (z) 这个按键才生效 编辑框看不懂就看上面的备注 还有下面的  有讲解【锁住】这个操作
如果真 (编辑框1.内容 ≠ “z”)  ' 如果编辑框里不是(z)  相当于就给其他按键解锁了
编辑框1.内容 = “”
左 = 1  ' 1表示按下键 并记录一下是按了哪个键
左 = 0  ' 0表示不生效

如果 (键代码 = #D键 编辑框1.内容 ≠ “y”)
如果真 (编辑框1.内容 ≠ “y”)
编辑框1.内容 = “”
右 = 1
右 = 0

如果 (键代码 = #W键 编辑框1.内容 ≠ “s”)
如果真 (编辑框1.内容 ≠ “s”)
编辑框1.内容 = “”
上 = 1
上 = 0

如果 (键代码 = #S键 编辑框1.内容 ≠ “x”)
如果真 (编辑框1.内容 ≠ “x”)
编辑框1.内容 = “”
下 = 1
下 = 0

如果真 (上 = 1)  ' 上=1 已经确定要往上走了   接下来看 人物在地图的哪个位置  如果到边界了不合适的话 就让【地图】代替【人物】行走
如果 (动画框1.取物体顶边 (物体1) < 250 动画框1.取物体顶边 (地图) < 0)  ' 【人物】和【地图】的顶边和左边是根据【动画框】来的  动画框的左上方就是绝对 0   所以要判断人物当前的位置 适不适合继续在框里动。
动画框1.置物体位置 (地图, 动画框1.取物体左边 (地图), 动画框1.取物体顶边 (地图) + 3, )  ' 如果 不合适  就是地图走
动画框1.置物体位置 (pass点, 动画框1.取物体左边 (地图) + 1900, 动画框1.取物体顶边 (地图) + 830, )
动画框1.置物体位置 (物体1, 动画框1.取物体左边 (物体1), 动画框1.取物体顶边 (物体1) - 3, )  ' 如果 合适  就是人物走


如果真 (下 = 1)
如果 (动画框1.取物体顶边 (物体1) > 250 动画框1.取物体顶边 (地图) > -500)
动画框1.置物体位置 (地图, 动画框1.取物体左边 (地图), 动画框1.取物体顶边 (地图) - 3, )
动画框1.置物体位置 (pass点, 动画框1.取物体左边 (地图) + 1900, 动画框1.取物体顶边 (地图) + 830, )
动画框1.置物体位置 (物体1, 动画框1.取物体左边 (物体1), 动画框1.取物体顶边 (物体1) + 3, )


如果真 (左 = 1)
如果 (动画框1.取物体左边 (物体1) < 350 动画框1.取物体左边 (地图) < 0)
动画框1.置物体位置 (地图, 动画框1.取物体左边 (地图) + 3, 动画框1.取物体顶边 (地图), )
动画框1.置物体位置 (pass点, 动画框1.取物体左边 (地图) + 1900, 动画框1.取物体顶边 (地图) + 830, )
动画框1.置物体位置 (物体1, 动画框1.取物体左边 (物体1) - 3, 动画框1.取物体顶边 (物体1), )


如果真 (右 = 1)
如果 (动画框1.取物体左边 (物体1) > 350 动画框1.取物体左边 (地图) > -1200)
动画框1.置物体位置 (地图, 动画框1.取物体左边 (地图) - 3, 动画框1.取物体顶边 (地图), )
动画框1.置物体位置 (pass点, 动画框1.取物体左边 (地图) + 1900, 动画框1.取物体顶边 (地图) + 830, )
动画框1.置物体位置 (物体1, 动画框1.取物体左边 (物体1) + 3, 动画框1.取物体顶边 (物体1), )


判断 (动画框1.是否重叠 (物体1, 地图))  ' 开始判断  行走过后  【人物】是否和【地图】有重叠
重叠了 = 真
重叠了 = 假

如果 (重叠了 = )  ' 这里是  如果-重叠了!!   应该做什么
判断 (上 = 1 左 = 0 右 = 0)  ' 如果是按了 这个 【上】 导致的重叠的话 【上】 就先归零
上 = 0
动画框1.置物体位置 (物体1, 动画框1.取物体左边 (物体1), 动画框1.取物体顶边 (物体1) + 4, )  ' 这里是让人物 往【反方向】动一些  用来离开重叠部分
编辑框1.内容 = “s”  ' 这个就是  锁住 【上】 键   这样就不会再重叠然后又反方向动鬼畜了
判断 (下 = 1 左 = 0 右 = 0)
下 = 0
动画框1.置物体位置 (物体1, 动画框1.取物体左边 (物体1), 动画框1.取物体顶边 (物体1) - 4, )
编辑框1.内容 = “x”
判断 (左 = 1 上 = 0 下 = 0)
左 = 0
动画框1.置物体位置 (物体1, 动画框1.取物体左边 (物体1) + 4, 动画框1.取物体顶边 (物体1), )
编辑框1.内容 = “z”
判断 (右 = 1 上 = 0 下 = 0)
右 = 0
动画框1.置物体位置 (物体1, 动画框1.取物体左边 (物体1) - 4, 动画框1.取物体顶边 (物体1), )
编辑框1.内容 = “y”






如果真 (是否走到终点 = )
如果真 (动画框1.是否重叠 (物体1, pass点))
是否走到终点 = 真
信息框 (“走到终点了”, 0, , )


调试输出 (上, 下, 左, 右)
编辑框meL.内容 = 到文本 (动画框1.取物体左边 (物体1))  ' 这里是显示 人物 和 地图 的坐标的
编辑框meT.内容 = 到文本 (动画框1.取物体顶边 (物体1))
编辑框mapL.内容 = 到文本 (动画框1.取物体左边 (地图))
编辑框mapT.内容 = 到文本 (动画框1.取物体顶边 (地图))
调试输出 (重叠了)
子程序名返回值类型公开备 注
_动画框1_放开某键逻辑型 
参数名类 型参考可空数组备 注
键代码整数型
功能键状态整数型
判断开始断 (键代码 = #W键 )
' 上 = 2
. ' 判断 (键代码 = #S键)
' 下 = 2
. ' 判断 (键代码 = #A键)
' 左 = 2
. ' 判断 (键代码 = #D键)
' 右 = 2



' 按理说是监视键不需要放开的  我只是习惯做了



i支持库列表   支持库注释   
iext2扩展界面支持库二
spec特殊功能支持库




star game2.e

37.14 KB, 下载次数: 18, 下载积分: 精币 -2 枚

编辑后1 (1).png
编辑后1 (2).png
编辑后1 (3).png

评分

参与人数 2好评 +2 精币 +5 收起 理由
空竹 + 1 + 2 新技能已get√
wtflxk + 1 + 3 开源精神必须支持~

查看全部评分


 楼主| 发表于 2022-6-28 11:23:10 | 显示全部楼层   四川省成都市
忘了两张图  直接在这里发吧
一张是地图            一张是用win自带的画图找点位

地图

地图

找坐标定位

找坐标定位
回复 支持 反对

使用道具 举报

结帖率:100% (13/13)

签到天数: 6 天

发表于 2024-5-12 20:53:31 | 显示全部楼层   宁夏回族自治区吴忠市
人物不动啊啊
回复 支持 反对

使用道具 举报

结帖率:0% (0/2)
发表于 2023-10-11 18:42:37 | 显示全部楼层   湖北省宜昌市
回复 支持 反对

使用道具 举报

结帖率:60% (3/5)
发表于 2023-9-1 17:29:57 | 显示全部楼层   山西省晋中市
支持一下。。。。。。。。。。。
回复 支持 反对

使用道具 举报

结帖率:60% (3/5)
发表于 2023-9-1 17:29:34 | 显示全部楼层   山西省晋中市
支持一下。。。。。。
回复 支持 反对

使用道具 举报

结帖率:67% (2/3)
发表于 2023-8-6 21:32:54 | 显示全部楼层   重庆市重庆市
感谢分享
回复 支持 反对

使用道具 举报

结帖率:70% (7/10)

签到天数: 10 天

发表于 2023-3-21 13:58:58 | 显示全部楼层   甘肃省平凉市
回复 支持 反对

使用道具 举报

签到天数: 1 天

发表于 2023-3-5 11:23:04 | 显示全部楼层   辽宁省大连市
已经给你们分好类了,需要调用的,请自行转换mp3格式
回复 支持 反对

使用道具 举报

发表于 2022-6-29 08:35:21 | 显示全部楼层   山西省太原市
感谢分享
回复 支持 反对

使用道具 举报

结帖率:100% (22/22)

签到天数: 11 天

发表于 2022-6-28 11:23:24 | 显示全部楼层   河南省安阳市
感谢分享,希望楼主以后能分享更多源码出来
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

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

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

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