阿里巴巴网站谁做的,专业seo网站优化公司,如何编辑自己的网站,福州专业做网站的公司RPG Maker MV 仿新仙剑 战斗场景UI #xff08;十#xff09; 前言角色站位人物站位人物影子 前言
上一期完成了几个功能#xff0c;虽然没有进行进一步的优化#xff0c;但基础的功能已经完成#xff0c;现在记录下已完成及未完成的功能#xff1a; 战斗菜单 一级战斗菜… RPG Maker MV 仿新仙剑 战斗场景UI 十 前言角色站位人物站位人物影子 前言
上一期完成了几个功能虽然没有进行进一步的优化但基础的功能已经完成现在记录下已完成及未完成的功能 战斗菜单 一级战斗菜单 二级战斗菜单 角色状态显示 物品及法术窗口 进入状态及装备场景 角色战斗精灵 战斗背景图 投掷窗口 合击、防御、围攻 角色站位 战斗动画法术及各操作动画 经验及物品的消息显示 敌我选中 伤害显示 战斗移动
可以看到看到现在差的功能还有不少。
角色站位
人物站位
角色的站位是开始战斗时角色进行战斗准备的位置初期其实已经完成一部分了通过之前的截图就可以看出来。 这里用了一条线段来作为标志线段和底部呈现22.5度的夹角而人物就在这个线段上由于角色的不同包括不同形态对应的精灵的宽高也不同因此不能通用需要对应给不同的角色以不同的坐标来真正的保持一致。
//设置角色的初始位置
Sprite_Actor.prototype.setActorHome function(index) {if($gameParty.members().length1){this.setHome(434 index * 103, 399 - index * 44);if(this._actor._battlerNameLingEr1){this.setHome(434 index * 106, 399 - index * 65);}}else{this.setHome(434 1 * 103, 399 - 1 * 44);}
};这里针对只有一个人物时坐标是初始坐标加上索引乘上位移的坐标可以看到只有一个人物时索引是一个固定值这是因为第一个主角站位正好是中间因此需要提前写死后期可能会考虑用多维数组或json的方式直接存储调用。
人物影子
人物的影子是已经做好的因此可以直接使用不用像人物行走那样需要通过一些变形来做阴影当然还没有开始做这块。
Sprite_Actor.prototype.createShadowSprite function() {this._shadowSprite new Sprite();this._shadowSprite.anchor.x 0.5;this._shadowSprite.anchor.y 0.5;this._shadowSprite.y -62;this.addChild(this._shadowSprite);
};
Sprite_Actor.prototype.updateBitmap function() {Sprite_Battler.prototype.updateBitmap.call(this);var name this._actor.battlerName();if (this._battlerName ! name) {this._battlerName name;this._mainSprite.bitmap ImageManager.loadSvActor(name);this._shadowSprite.bitmapImageManager.loadSvActor(nameYing);}
};
//修改setActorHome中代码
if(this._actor._battlerNameLingEr1){this.setHome(434 index * 106, 399 - index * 65);this._shadowSprite.y13;}通过修改创建影子的方法及更新影子名称的方法并在人物初始位置这里加上对应的位置修改就完成了人物影子的实现。