《泰拉瑞亚》饰品制作方法
【DEBUG-查错阶段】 首先是同时挂上蒸汽朋克翅膀、火焰粒子以及星星gore的照片一张 这里需要注意一点:cs开头的using应该是using Microsoft.Xna.Framework; 也就是说,模板应该是如下: using System; using TAPI; using Microsoft.Xna.Framework; namespace TAPI.【MOD名称】{ public class 【道具名称】:ModItem{ public 【道具名称】(ModBase modbase,Item i):base(modbase,i){} public override void Effects(Player p){ //等会就是在这里插入饰品信息滴~ } } } 这篇主要讲述的是运用TR原版的一些方法组来答到寓守于攻、不战而退敌的效果 首先……先介绍一些需要用到的代码 1.Rectangle(组词法:rect是“四”,angle是“角”,四个墙角即为矩形~) 要想快速而方便地判定范围,首先要在TR里表示一个矩形(Rectangle)。 TR里声明一个矩形的方法是使用new方法组,也就是new Rectangle(坐标X,坐标Y,宽,高) 举例:new Rectangle(100,200,300,400)表示的是如下图的矩形: 左上顶点坐标(100,200),长300宽400,右下顶点坐标(100+300,200+400),表示的是一个范围(嗯没错那个就是66ccff) 注:矩形的坐标和长宽必须是整数,在使用到玩家或npc坐标的地方请在前面加个(int),表示取整 2.Rectangle.Intersects(Rectangle r1,Rectangle r2) intersects方法组,隶属于xna特有的数学系(重申一遍前面cs格式的.Graphics一定要删掉!),用来判定两个矩形是否相交,输出逻辑值(真或假) p.s.判定是否在范围内时好像比直接计算距离略快一点,缺点就是判定是方的不好看 ……嘛,战斗时谁还管好不好看呢? 3.foreach(类型 代号 in 组) 就像这个语句的名字一样,它可以把某个组里的所有东西都拉出来给一个代号,比如foreach(NPC n in Main.npc)就是检索游戏中所有NPC并给每个NPC起个名字:n;接下来这个n将要受到什么代码的操(rou)作(lin),就完全是个人喜好的问题了 4.NPC.AddBuff(int BUFF类型,int BUFF持续时间) 是时候让那些可恶的怪物们尝尝FFF团的怒火了!有了这个方法组,给NPC随意加debuff将不是梦想! ·BUFF类型就是想要加的BUFF的编号,比如燃烧是24,诅咒燃烧是39,霜火燃烧是44,等等 ·BUFF持续时间是按帧算的,60帧=1秒(0处理落率),如果这里写60就是一秒,写3600是一分钟,写23333333就是约4.50102874天,依据自己需求来决定时间吧 5.if(条件) 直译:如果满足条件就执行后面的内容,条件应为逻辑值 5.2.else “否则”是“如果”的好姬友,用于在if的条件不成立时执行后面的语句 5.2.1.多层判定 那啥……else后面也能跟if,所以如果多重判定就可以写成: if(条件1){代码段1} else if(条件2){代码段2} else if(条件3){代码段3} else…… …… ……else{都不满足时的代码段} 5.2.逻辑值的运算 如果需要同时判定多个条件成立,几个条件就套上几个if?如果需要多个条件任一成立,几个条件就写几个else,然后在里面写相同语句?乃们out了!其实许多条件也是可以合并成一个条件的 需要用到的就是逻辑运算符:且(&&)、或(||)和非(!) 且就是数字7上面那个符号打两遍,或就是右shift上面那个按键+shift打出来的(绝对值括号),非就是感叹号(全都是半角) 且和或用于连接两个逻辑值,放于两个逻辑值之间;非放在一个逻辑值的前面,用于否定这个逻辑值(真假颠倒) 5.2.1.几个逻辑运算的法则 1.!!a就是a 2.!(a&&b)就是(!a)||(!b) 3.!(a||b)就是(!a)&&(!b) (编辑:173173游戏网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |