《泰拉瑞亚》饰品制作方法
6.3.效果图: BURN BABY,BURN! 嗯……本期教程就此结束,下期将是:【猎奇篇:读取操作】,如何用饰品给予玩家可控的额外火力,尽请期待~ 附思考题: 如何做出十动然拒徽章的效果?(排除危险NPC和proj到安全距离以外)(neta自拥着转) 提示: ①proj对应的组是Main.projectile,proj的类型是Projectile ②proj和NPC一样有位置和宽高数据,位置可以被任意操作 ③敌对NPC特征是friendly逻辑值为假,敌对proj特征是hostile逻辑值为真 【猎奇篇:读取操作】 前言: 其实这一篇严格地说并不是为增强火力而存在的;换句话说,它不只是为增强火力存在的。 只要读取了电脑前玩家的操作,加上自定的一些代码,玩家就可以做到扩展整个人物的功能,就像K键召唤所有BOSS,F键瞬移,等等…… 下面是正题: 1.读取玩家行动 读取玩家行动,其实只需熟记表示玩家状态的几个逻辑值,就能对玩家相应的行动做到加强或改变;平时需要用的基本就是这几条了: controlLeft;控制向左 controlRight;控制向右 controlUp;控制向上 controlDown;控制向下 controlJump;控制跳 controlHook;控制钩子 例:如何做一个让玩家移动速度加快的饰品? 大体思路就是读取玩家按下的方向键,并相应地适当改变玩家速度,如下: if (p.controlLeft) { if (p.velocity.X > 0) p.velocity.X *= 0.95f; else if (p.velocity.X > -30) p.velocity.X -= p.velocity.Y == 0 ? 0.5f : 1f; } if (p.controlRight) { if (p.velocity.X < 0) p.velocity.X *= 0.95f; else if (p.velocity.X < 30) p.velocity.X += p.velocity.Y == 0 ? 0.5f : 1f; } if (p.controlUp) { p.controlJump = true; if (p.velocity.Y > 0) p.velocity.Y *= 0.95f; else if (p.velocity.Y > -30) p.velocity.Y -= 1f; } 以上的作用是:玩家控制向左时就增加向左速度,玩家控制向右就增加向右速度;将控制向上和控制跳跃绑定,控制向上就增加向上的速度 2.读取鼠标状态 游戏中自带显示鼠标状态的逻辑值,Main.mouseLeft和Main.mouseRight分别表示鼠标左键和右键是否按下;相应的还有Main.mouseLeftRelease和Main.mouseRightRelease表示左右键是否未按下,可以理解为两者相反 思考题:如何制作按下鼠标右键就回血的饰品?运用前面的教程,题目较为简单,这里就不写示例了 3.读取键盘状态 Main.keyState.IsKeyDown(Microsoft.Xna.Framework.Input.Keys.【按键代号】) 这个语句用来读取键盘状态,如果当前按下了指定【按键代号】的键就等于真;反之,假。一般来说,提取字母键的状态只需把按键代号写成相应大写字母;F1-F12也是直接写大写F加数字就可以了 (编辑:173173游戏网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |