- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
罗培羽—教你用VB制作RPG游戏 第2节.ppt
罗培羽—教你用VB制作RPG游戏 QQ:345697666 E_mail:tyxxxx@ 博客:/mhqy 罗培羽 作品 上一节回顾 通过上一节 创造梦想中的主角 的学习,我们学会了如何使我们的角色动起来 这一节 封装代码 代码太乱怎么办 封装你的代码 把代码移到模块中 新建模块Do_Walk 把角色坐标的定义移动到模块中 把Form_MouseDown事件放到过程SetPosition(x As Single, y As Single)中,并调用 再调试一下试试 把TIMER1里的代码放到DoWalk()中 同样也要修改控件名 还要在Timer1事件里调用 把FormLoad中的代码放到过程Load中 也要修改相关代码,调试试试 封装资源 界面太乱怎么办 封装你的控件 把控件移到其他窗体中 新建一个窗体Src 把PictureClip1移到这个窗体中 再调试 Role的图片已经没有作用了,删了 背景图在上一节中也只是为了美观,删了 为了能容易看得清,我们设置背景颜色 定义我们的地图 TYPE …… END TYPR 我们新建一个模块Do_Map来处理地图事件 定义地图变量 Public Type Dimmap Bottom As String Top As String Through As String End Type 地图实例化 定义地图 Public map1 As Dimmap Public map2 As Dimmap 执行初始化定义 定义一个过程GoDimMap() Public Sub GoDimMap() 执行初始化定义 地图1 map1.Bottom = AppDisk + map/Map1_b.bmp map1.Top = AppDisk + map/Map1_Top.bmp map1.Through = AppDisk + map/Map1_Through.bmp 地图2 map2.Bottom = AppDisk + map/Map2_b.bmp map2.Top = AppDisk + map/Map2_Top.bmp map2.Through = AppDisk + map/Map2_Through.bmp End Sub 在Do_Walk中 定义路径 Public AppDisk As String 地图启动函数 MapStart() Public Sub MapStart(mapx As Dimmap) ‘地图启动函数……End sub MapStart main.MapB.Picture = LoadPicture(mapx.Bottom) main.MapT.Picture = LoadPicture(mapx.Top) main.MapTh.Picture = LoadPicture(mapx.Through) 我们还要绘图 在Draw()中画主角上面加上(在其上面就是先画地图,再话主角。这样主角才能在地图上边) 画地图 GdiTransparentBlt main.hDC, 0, 0, main.MapB.Width, main.MapB.Height, main.MapB.hDC, 0, 0, main.MapB.Width, main.MapB.Height, RGB(255, 255, 255) 画图 地图跟随 分段函数 定义(在Do_Map)定义地图位置变量Public Xm As SinglePublic Ym As Single 写一个处理位置的过程MapMove() 解释下 在中间时 同理 纵坐标 If Yn = main.Height / 30 Then Ys = Yn Else If Yn = main.MapB.Height - main.Height / 30 Then Ys = Yn + Ym Else Ys = main.Height / 30 Ym = Ys - Yn End If End if 调用 在DoWalk()后‘行走动画处理后加上 Call MapMove 在Draw()中‘画地图后的 0,0 改为Xm,Ym 在Draw的调用中(Xn,Yn)换成(Xs,Ys)因为我们的显示是相对屏幕而言的 在SetPosition中把 目标位置转换为相对地图的位置 ‘坐标、移动速度计算 Xt= Yt= 换成 Xt = x - Xm - main.Role.Width / 2 其中- Role.Width / 2是让鼠标指定的坐标处于角色中心 Yt = y - Ym - main.Role.Height / 2 其中- Role.Height / 2是让鼠标指定的坐标处于角色中心 成功 我们在L
您可能关注的文档
最近下载
- 2025内蒙古孪井滩生态移民示范区社区专职工作者招聘10人考试备考试题及答案解析.docx VIP
- 金属粉末冶金材料.PPT VIP
- 新苏教版三年级上册数学(全册)同步随堂练习一课一练 .pdf VIP
- 《电工基本技能》教案项目五任务二 开关类低压电器的拆装.docx VIP
- 危险源辨识、风险评价表(建筑工程).xls VIP
- 连翘的育苗技术.pptx
- 第16课《诫子书》(教师版).docx VIP
- 跨部门合作流程与沟通模板.doc VIP
- SANKEN三肯变频器samco-ns TEXC-NS-002(小容量)使用手册调试说明书.pdf
- 《电工基本技能》教案项目五任务三 接触器的拆装.docx VIP
原创力文档


文档评论(0)