这个我实现过,用Galv_MoveRouteExtras插件即可 我的DEMO里就有,那个球球蹦出来的金币,里面就有相关指令,直接复制即可 |
本帖最后由 rexuegg123 于 2021-12-26 17:45 编辑 play337 发表于 2021-12-26 17:26 关键是targetId不是事件id,是你要在其身上显示动画的对象的id let obj={targetId:"噗噗5",time:1600,picName:"ranshao.png",picSrc:"img/FTskill/",width:[300,8],height:[300,10],top:-130,left:-115,per:100 }; 帧动画显示 (obj); |
本帖最后由 play337 于 2021-12-26 17:27 编辑 targetId:"48", (事件ID) time:500, picName:"0000-check.png", picSrc:"img/characters/", width:[576,12], (图大大的好管理) height:[768,8], (图大大的好管理) top:20 , left:30 , per:50 ==================== 我再改了一下... 还是不行 >_<
|
本帖最后由 rexuegg123 于 2021-12-26 17:28 编辑 play337 发表于 2021-12-26 15:33 let obj = {……}; 这句是 为帧动画显示 函数设置参数; 你的用法中: 1、targetId:48,这句,我重来没用数字作为网页元素的参数过,一般是字符,如"mdjfn"等…………如果你认为是本次动画显示的id就错了。它表示你这次动画要放入到那个元素中播放。比如:在战斗时,你需要在敌人身上播放一次动画,那这里就填敌人这个元素的id 2、time:60,这句,这里的时间单位是毫秒,你填60,表示60/1000秒,相对于你后面整个大图有12*8的小图数量,时间太短; 3、picName:0000-check,这里表示的时大图的文件名,如:"check.png",含文件格式的后缀,并且是字符串,需要加引号 " " 4、picSrc:img/characters,这句也是字符串,它表示文件大图所在文件夹,如:"img/characters/", 他的值最终会与picName的值相加,组成完整的文件路径 5、 width:[576,12], height:[768,8], 这两句,填的时小图的宽和高,你这里一张小图宽高是576*768,并且有96张,我去,你把图搞这么大做什么? 例子: let obj={targetId:"name", time:500, picName:"nufju.png",picSrc:"img/characters/",width:[192,5], height:[192,2], top:20 ,left:30 , per:50 }; |
64fd96fe28b049d5a7448cd95e59fb9.png (999.67 KB, 下载次数: 22)
不清楚哪些'4.56...'是怎么得出来的。 常规应该是 0, 1, 2, 3。 其结果调用的公式是rpg_objects.js下, Game_CharacterBase.prototype.updatePattern里面的 this._pattern = (this._pattern + 1) % this.maxPattern(); 而maxPattern的默认值是 4。 然后,角色行走图的显示安排在rpg_sprites.js里面, 动作编排主要是 Sprite_Character.prototype.characterPatternX 就是踏步动画单方向时的动作样式划分。 另外一个叫 Sprite_Character.prototype.characterPatternY 是改变方向后计算下一组动作样式的位置。 所以如果按照楼主原图的是3X4分布来规划12张图片的顺序的话, 那就是在Sprite_Character.prototype.characterPatternX 自动执行切换到样式 3的时候, 插入一个方向的改变。也就是this._character.setDirection(方向代码) 不过这样,她原代码 return this._character.pattern(); 就需要屏蔽掉了, 因为这个pattern是经过处理的,我们需要未经处理的pattern。 所以得提取其原来的样板,也就是 this._character._pattern。 然后,这样改后,会出现一个问题,就是原版的踏步动画变样了。 而且character本身就是一个元件式设计,所以是牵一发而动全身,所有踏步都会变。 所以,改这里的话,建议做成分支。 设定条件把原版接进来,把不同样式分支出去。 这个,就只能楼主自己调试了。 另一方面,在Sprite_Character.prototype.characterPatternX下, 直接调用this._character._pattern,有个有趣的现象。 就是行走图会一直横向显示过去。 所以,以12张图为例, 我们把this._pattern = (this._pattern + 1) % this.maxPattern() 这一段改一下: 改成:this._pattern = (this._pattern + 1) % 12; 给你看个效果: 原图: |
我用这样.... 结果还是不行... JAVASCRIPT 代码复制
|
本帖最后由 rexuegg123 于 2021-12-26 14:36 编辑 JAVASCRIPT 代码复制
根据你的情况,看是否适合你。 |
本帖最后由 rexuegg123 于 2021-12-26 14:09 编辑 你是要按1、2、3……11,12的顺序吗? 我游戏里有一个技能动画的显示方法,可能适合你。 它是以div元素的形式驱动的: 位置显示用的是相对于父级元素的top和left; 设置了动画完成的时间限制(毫秒),如整体时间为t, 大图有20张小图,则每张小图的显示时间为 t/20; 设置了小图显示比例,可以按照设置的百分比显示 |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-11-3 01:24
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.