Ì©ÀÈðÑÇÊÇÒ»¿îºÜ²»´íµÄµÄɳºÐÀàÓÎÏ·£¬ÔÚÓÎÏ·ÖÐÍæ¼Ò¿ÉÒÔÖÆ×÷¸÷ÖÖ¸÷ÑùµÄµÀ¾ßÀ´¶Ô¿¹µÐÈË£¬×î½üºÜ¶àÍæ¼ÒÏëÖªµÀÈçºÎÖÆ×÷ÊÎÆ·£¬ÏÂÃæ¸ø´ó¼Ò·ÖÏíÏÂÌ©ÀÈðÑÇÊÎÆ·ÖÆ×÷Ïêϸ½Ì³Ì£¬Ï£Íû¶Ô´ó¼ÒÓÐËù°ïÖú¡£
ÊÎÆ·ÖÆ×÷·½·¨
¡¾»ù´¡Æª£ºÊÎÆ·´´½¨¡¿
Ò»¸ömodµÀ¾ßÐèÒªÓÐjsonÎļþºÍpngÎļþÂï¡«
png¾Í²»¶à˵ÁË£¬Í¼Æ¬£¬²»ÒªÕÒÌ«´óµÄ¾ÍÐÐÁË£¬·´ÀýÇë²Î¼ûctxµÄjust a simple bossÀïµÄBOSSÕÙ»½Î¡ª÷¼÷Ãϰͣ¬ÒòΪֱ½ÓÓÃÁË÷¼÷Ãϰ͵Äͼ£¬Ì«´ó£¬¼ñÆðÀ´·ÅÔÚÎïÆ·À¸µÄʱºòËõµÃ²»³ÉÑù×Ó
µ±È»»¹ÓÐÒ»µã£º±³¾°É«±ØÐëÊÇ͸Ã÷£¬±ÈÈ磺
ÏÂÃæÊÇjsonµÄд·¨£ºÒÔ¸ÕдµÄctxmove×÷·¶Àý£º
{
¡¡¡¡"code": "ctxmove",¡ª¡ªÃû×Ö£¬ÒªºÍjsonµÄÎļþÃûÒ»ÖÂ
¡¡¡¡"displayName": "CTX's Movement",¡ª¡ªÏÔʾÃû³Æ£¬×îºÃÇø·Ö´óСдÒÔÏԵúÜÕýʽ
¡¡¡¡"size": [28,14],¡ª¡ª³ß´ç£¬Á½¸öÊý×Ö·Ö±ð¶ÔÓ¦pngͼÏñµÄ³¤ºÍ¿í
¡¡¡¡"value": [0,0,0,0],¡ª¡ª¼ÛÖµ£¬ËĸöÊý×Ö·Ö±ð¶ÔÓ¦²¬¡¢½ð¡¢Òø¡¢Í±ÒµÄÊýÁ¿£¨×¢ÒâÕâÀïÊÇÂòÈë¼ÛÖµ£¬Âô³öʱ»áÓÐÕÛ¿Û£¬Ê¹ÓôòÕÛ¿¨ÂòÈëÒ²»áÓÐÕÛ¿Û£©
¡¡¡¡"rare": 9,¡ª¡ªÏ¡Óжȣ¬¢á¾ÍÊÇ×îÏ¡ÓеÄÌìÀ¶Á˺ÃÏñ
¡¡¡¡"toolTip": "I hate json.",¡ª¡ªµÚÒ»ÐеÀ¾ß˵Ã÷£¨Ïë¼ÓµÚ¶þÐоÍÊÇtoolTip2£©
¡¡¡¡"accessory":true,¡ª¡ªÕâ¾äÊÇÖØµã£¬Ëü¾ö¶¨ÁËÕâ¸öµÀ¾ß¿ÉÒÔ±»Èû½øÊÎÆ·À¸
¡¡¡¡"recipes": [¡ª¡ªºÏ³É±í
¡¡¡¡{
¡¡¡¡¡¡¡¡"items": ["0 Wood"],¡ª¡ªÓÃ0¸öľͷ
¡¡¡¡¡¡¡¡"creates": 1¡ª¡ªºÏ³É1¸öÊÎÆ·
¡¡¡¡}
¡¡¡¡]¡ª¡ªÕâÀïµÄrecipeÃ÷ÏÔ²»ºÏ¸ñºÃ°É£¡Á¬tileҲûÓСª¡ªÂÕâ²»ÊÇÖØµã
}
´ËÍ⣬»¹¿ÉÒÔ¼ÓһЩ¸½¼ÓµÄÓï¾ä£¬±ÈÈç"wings":12,ÈÃÍæ¼ÒÅå´÷ºó»ñµÃÕôÆûÅó¿Ë³á°ò£¬"lifeRegen":Ôö¼Ó»ØÑªËÙ¶È£¬"defense":¼Ó·ÀÓù£¬ºÃÏñÒ²¾ÍÕâЩÁË¡£
¡¾½ø½×ƪ£ºcs´´½¨¡¿
дһ¸öºÍpngÒÔ¼°jsonÏàͬÃû×ÖµÄcsÎļþ
Ê×ÏÈ£¬ÔÚÀïÃæÐ´£º
using System;
using TAPI;
using Microsoft.Xna.Framework.Graphics;
namespace TAPI.¡¾MODÃû³Æ¡¿{
¡¡¡¡public class ¡¾µÀ¾ßÃû³Æ¡¿:ModItem{
¡¡¡¡¡¡¡¡public ¡¾µÀ¾ßÃû³Æ¡¿(ModBase modbase,Item i):base(modbase,i){}
¡¡¡¡¡¡¡¡public override void Effects(Player p){
¡¡¡¡¡¡¡¡¡¡¡¡//µÈ»á¾ÍÊÇÔÚÕâÀï²åÈëÊÎÆ·ÐÅÏ¢µÎ¡«
¡¡¡¡¡¡¡¡£ý
¡¡¡¡}
}
ÄÇЩ¡¾modÃû³Æ¡¿ºÍ¡¾µÀ¾ßÃû³Æ¡¿ÐèÒª»»³Éʲô£¬¾Í¿´Êµ¼ÊÇé¿öºÍ¸öÈËϲºÃÁË¡¡Ë³±ã£º¡¾µÀ¾ßÃû³Æ¡¿Ò²ÒªºÍÎļþÃûÒ»Ñù
È»ºóàÏ¡¡Õâ¸öEffects¾¿¾¹ÄܸÉʲô£¿´ð°¸£º¼¸ºõËùÓУ¡Ò»¸öÍæ¼ÒÄܸɵÄÊ£¡
¿´¼ûºóÃæÀ¨ºÅÀïÄǸöPlayer pÁËô£¿Õâ´ú±í½ÓÏÂÀ´EffectsÀï·¢ÉúµÄÒ»ÇÐÊÂÇ飬¶¼½«Ê©ÓèÄǸö´úºÅΪpµÄÍæ¼Ò¡ª¡ªÒ²¾ÍÊÇ´øÉÏÕâ¸öÊÎÆ·µÄÍæ¼Ò¡«£¨µ±È»ÄǸöp¸Ä³Éplayer£¬ctx£¬lzwÉñÂíµÄ¶¼ÐУ¬Ö»ÊÇÇмÇÒªºÍºóÃæ±£³ÖÒ»Ö£©
ÖÁÓÚEffects¾¿¾¹ÄܸÉɶÂï¡¡ÏÈÀ´¼¸¸ö»ù±¾µÄ°É£º
Ê×ÏÈÊǶÔÍæ¼ÒÉíÉϵÄÊý¾Ý½øÐвÙ×÷
дp.statLifeMax=500;¾ÍÊÇÍæ¼ÒÅå´÷ʱÉúÃü×î´óÖµ½«Ë²¼äìµ½500
p.statManaMax=200;ͬÀí£¬Íæ¼Ò×î´óħ·¨Öµìµ½200
p.statManaMax2=+200;Õâ¸ö¾ÍÏñÒ»°ãµÄ·¨Ê¦ÊÎÆ·Ò»ÑùÔÝʱÔö¼ÓÁËÍæ¼ÒµÄ×î´óħ·¨£¬Ð¶µôÊÎÆ·¾Í»á»¹Ô£¨¶øÇ°Á½¸ö²»»á£©
p.wings = 12;¸øÍæ¼Ò´÷ÉÏÕôÆûÅó¿Ë³á°ò
p.statDefense+=233;Íæ¼Ò·ÀÓùÔö¼Ó233
p.lifeRegen+=233;Íæ¼Ò»ØÑªËÙ¶ÈÔö¼Ó233£¨ÔÙ×¢£ºÕâÀïµÄ»ØÑªËÙ¶È×î´óÒ²Ö»ÄÜÔö¼Óµ½Ã¿ÃëÒ»µã£¬ÊÇTRÔ°æ»ØÑª»úÖÆµÄÎÊÌ⣩
µ±È»£¬»¹Óкܶࡡ
¡¾ÓéÀÖÆª£º¹íÐócs¡¿
½ÓÉÏÆª£¬¼ÌÐøÍùEffectsÀï¼ÓÌõÌõ¡ª¡ª
p.statDefense+=2333333333;ÉñÂíµÄ¾Í²»ÓÃÎÒ˵Á˰ɡ«¸ÄÊý×Ö¶øÒÑ£¬´ó¼Ò×Ա㣬²»ÒªÈÃ×Ô¼ºÊ§È¥ÓÎÏ·ÀÖȤ¾Í¿ÉÒÔÁË
Ê×ÏÈÊǸü¼ÓÉñÆæµÄ»ØÑª£º
p.statLife++;
ÕâÌõ´úÂëÄÜÈÃÍæ¼Òÿ֡¶¼»Ø¸´Ò»µãѪ£¬Ï൱ÓÚÿÃë60µã£¬¶øÇÒÕâ¸ö»ØÑªºÍÍæ¼Ò×Ô¶¯»ØÑªÒÔ¼°ÓÄÁéÌס¢ÎüѪ·Éµ¶¡¢HPҩˮ֮ÀàµÄÍêÈ«Î޹أ¬Ï൱ÓÚÊÇÿÃëÃâ·ÑË͵Ä60Ѫ¡«
ͬÀí£¬Ð´p.statMana++;¾ÍÊÇÿ֡»Ø¸´1À¶£¬Ã¿Ãë¶îÍâ60À¶
ÁíÍ⣬Èç¹ûÏë¿´µ½Ð§¹ûµÄ»°¿ÉÒÔÔÙ¼ÓÒ»¾äp.HealEffect(1);»òÕßp.ManaEffect(1);£¬·Ö±ðÊÇ»ØÑªºÍ»ØÀ¶1µÄЧ¹û£¬µ±È»À¨ºÅÀïµÄÊý×ÖËæÒâÌÌ¾ÍÌø¼¸µÄÂÌ/À¶Êý×Ö£¨×îºÃºÍдµÄ»ØÑª/»ØÀ¶Êý×ÖÏàͬ£¬²»È»»áÓÐÀ§ÈÅ£©
¡ª¡ªÊ²Ã´£¿»¹ÊÇÌ«ÈõÁË£¿ÄãÊÖ²ÐËùÒÔÿÃë60Ѫ¸ù±¾²»¹»£¿
p.longInvince = true;
p.lavaImmune = true;
p.fireWalk = true;
p.noFallDmg = true;
Ëľä·Ö±ðÊÇÑÓ³¤ÎÞµÐʱ¼ä£¨Éñʥʮ×ÖЧ¹û£©£¬ÃâÒßÑÒ½¬£¨ºÚê×ʯҩˮЧ¹û£©£¬ÃâÒßÈÈש¿é£¨ºÚê×ʯͷÂЧ¹û£©ÒÔ¼°ÃâÒßµôÂäÉ˺¦£¨ÂíÕÆÐ§¹û£©
¡ª¡ªÊ²Ã´£¿Ä㻹Ïëվߣ˪Ô£¿
¼ÇµÃÎÒ˵¹ýEffects¿ÉÒÔ¶ÔÍæ¼ÒÊý¾ÝÈÎÒâ²Ù¿Ø°É¡«
ÎÒÃÇ¿ÉÒÔ¼òµ¥µØ×öÒ»¸öÄÚÖÃËøÑªËøÀ¶µÄЧ¹û£º
p.statLife=p.statLifeMax;ºÍp.statMana=p.p.statManaMax2;
ÔÀí£ºÃ¿Ö¡¶¼¶ÁÒ»ÏÂÍæ¼Òµ±Ç°×î´óѪ/À¶ÊǶàÉÙ£¬ÔÙ¸³¸øÊ£ÓàµÄѪ/À¶
¹»¹íÐóÁ˰ɡ«ÏÖÔÚֻҪûÓÐß÷ɱÄãµÄ¹¥»÷£¬¶ÔÄãÀ´Ëµ¶¼ÊǸ¡ÔÆÁË
¡ª¡ªÊ²Ã´¡¢£¿Ä㻹Ҫ°×Ììȥͬʱվߣ÷¼÷ÃÍõ¡¢¡¢µØÀÎÊØ»¤Õߺͻúе÷¼÷ÃÍõ£¿
¡¾É¥²¡Æª£º¹íÐócs½ø½×¡¿
Õâһƪ½Ì³Ì¾ÍÊÇһЩ¸ü»ªÀöµÄЧ¹ûÁË¡¡
Ê×ÏÈÊÇÉÏÆÚÒÅÁôµÄÎÊÌ⣺ÈçºÎվߣ°×ÌìÎâ¿Ë¡¢£¿´ð°¸¾ÍÊÇ¡¡ÚÀÓÐÈËÇÃÃÅ¡¢£¿ÎҵĿìµÝµ½ÁË£¬È¥ÊÕһϡ¡
¡¡¸Õ²ÅËÍ¿ìµÝµÄLZWС¸ç¸æËßÎÒ¡¢£¬²»ÄܰÑÕâ¸ö˵³öÀ´¡¢£¬²»È»»á(ta)¼«(hui)´ó(zai)µØ(jin)Ó°(wan)Ïì(lai)ÓÎ(gang)Ï·(le)ƽ(wo)ºâ£¬ËùÒÔ¾ÍÖ»ÄܸøÒ»µãÌáʾÁË£º¸øÍæ¼ÒÇ¿ÐÐÉÏÎ޵С«
×ÓÌáʾ¢Ù£ºÎ޵кÍÃâÒßµÄÒâ˼ºÜ½Ó½ü
×ÓÌáʾ¢Ú£ºTRµÄ±äÁ¿»ù±¾ÊÇÓÃÓ¢ÎÄÃüÃûµÄ
×ÓÌáʾ¢Û£ºÎÞµÐÒ²ÐèҪʱ¼äÏÞ¶¨
ÄÇô¡¢£¬¾ÍÕâÑù°É¡¢£¬×÷Ϊһ¸ö˼¿¼Ì⣬½ÓÏÂÀ´ÊÇ¡ª¡ª
1.ʱװ
Ïë´©ÎÚ¹êÌ×ÓÖÀÁµÃÊÕ¼¯¹ê¼×¡¢£¿ÍòÄܵÄEffectsÂú×ãÄã¡¢£¡
p.head=99;
p.body=65;
p.legs=54;
Ïë´©ÓÄÁéÌ×ÓÖ²»ÏëϵØÀΡ¢£¿ÍòÄܵÄEffectsÂú×ãÄ㣡
p.head=101;
p.body=66;
p.legs=55;
ÆäËüʱװͬÀí¡¢£¬²»¹ýʵ¼ÊʹÓÃʱÓÅÏȼ¶ÊÇʱװÀ¸¸ßÓÚÏÂÃæµÄÊÎÆ·¸ßÓÚÉÏÃæµÄÊÎÆ·¸ßÓÚ×°±¸À¸¡¢£¬ÇëÎñ±Ø×¢Òâ
2.Ì×װЧ¹û
Ïë·´ÉËÓÖÏÓÎÚ¹êÌ׺ÃÄÑ¿´¶øÇÒ²»Ï봩ʱװ£¿»¹ÊÇÍòÄܵÄEffectsÂú×ãÄã¡¢£¡
p.thorns = true;
p.turtleThorns = true;
ÏëÎüѪ¶øÇÒ¾õµÃÓÄÁéÌ×Ì«³ó¡¢£¿ÒÀÈ»ÊÇÊÇÍòÄܵÄEffectsÂú×ãÄ㣡
p.ghostHeal=true;
ʲô¡¢£¿ÏÓÓÄÁéÌ×ÎüѪ̫ÂýÁË¡¢£¿ÄǾÍÔÙÀ´Ò»¾ä£º
p.lifeSteal=233f;¡ª¡ªË²¼ä»¹ÔÖÁ¾É°æÓÄÁéÌ×µÄÎüѪƵÂÊÎÒ»á˵£¿
3.ÊÓ¾õÌØÐ§
»¹ÊÇÄǾ仰¡¢£¬EffectsÊÇÍòÄܵġ¢¡£
ÏëÔÚÉíÉϵãÉÏ»ð£¿
for (int i=0;i<9;i++){
¡¡¡¡int m = Dust.NewDust(p.position, p.width, p.height, 6);
¡¡¡¡Main.dust[m].noGravity = true;
¡¡¡¡Main.dust[m].position += p.velocity * Main.rand.Next(-50, 51) * 0.01f;
}
ÉÏÃæÕâ¶ÎЧ¹û´ó¸Å¾ÍÊÇÔÚÉíÉÏ·ÅÉÏ»ðÑæµÄÁ£×ÓÌØÐ§©§£¬²¢ÇÒ»áÒÀ¾ÝÍæ¼ÒµÄËٶȶøÑÓÉì³ÉÒ»Ìõ»ðÁ´©§£»ÖÁÓÚÿһ¾ä¶¼ÊÇÆðµÄʲô×÷Ó᪡ª×ÖÃæÒâ˼©§£¬²»¶®Ó¢ÎĵÄÇë×ÔÐÐgoogle·Òë©§£¬²»¶®Ó¢ÎÄÓÖÐãÓÅÔ½Ðã°®¹úµÄÇëÓÒÉϽÇ
ÏëÈÃ×Ô¼ºÉíÉÏðÐÇÐÇ£¿
Gore.NewGore(p.position+new Vector2(Main.rand.Next(p.width),Main.rand.Next(p.height)), p.velocity,Main.rand.Next(16,18));
ÉÏÃæÕâ¾ä¾ÍÊÇÔÚÍæ¼ÒÉíÉÏËæ»úµÄµØ·½Ã°16ºÅ»òÕß17ºÅgore©§£¬Ò²¾ÍÊÇÐÇÐÇ
¡¾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 ×é)
¾ÍÏñÕâ¸öÓï¾äµÄÃû×ÖÒ»Ñù©§£¬Ëü¿ÉÒÔ°Ñij¸ö×éÀïµÄËùÓж«Î÷¶¼À³öÀ´¸øÒ»¸ö´úºÅ|£¬±ÈÈçforeach(NPC n in Main.npc)¾ÍÊǼìË÷ÓÎÏ·ÖÐËùÓÐNPC²¢¸øÃ¿¸öNPCÆð¸öÃû×Ö£ºn£»½ÓÏÂÀ´Õâ¸ön½«ÒªÊܵ½Ê²Ã´´úÂëµÄ²Ù(rou)×÷(lin)|£¬¾ÍÍêÈ«ÊǸöÈËϲºÃµÄÎÊÌâÁË
4.NPC.AddBuff(int BUFFÀàÐÍ,int BUFF³ÖÐøÊ±¼ä)
ÊÇʱºòÈÃÄÇЩ¿É¶ñµÄ¹ÖÎïÃdz¢³¢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)
ÀýÌâ1£ºÊä³öÒ»¸öÂß¼ÖµM¡¬£¬ÔÚaºÍbͬʱ²»³ÉÁ¢µÄǰÌáÏÂÒªÇóÂú×ãÒÔÏÂÈýµãÖÐÈÎÒâÁ½µã±ã³ÉÁ¢£º¢ÙbºÍcÈÎÒ»³ÉÁ¢¢ÚdºÍeͬʱ³ÉÁ¢¢Ûf³ÉÁ¢
½â1£ºM=(!a)&&(!b)&&(((b||c)&&d&&e)||(f&&d&&e)||((b||c)&&f))
ÆÀ¼Û£º¼òµ¥´Ö¡á±©£¬ÊÊÓÃÓÚ¶Ô¶àÖØÀ¨ºÅºÜÊìÁ·µÄÐÖ¹óÃÇ
½â2£ºint m=0;
if(b||c)m++;
if(d&&e)m++;
if(f)m++;
M=(!(a||b))&&(m>=2)
ÆÀ¼Û£ºÂÔÔËÓÃÁË»¯¼òµÄ¼¼ÇÉ¡¬£¬ÊÊÓÃÓÚÀÁ¡áµÄÐÖ¹óÃÇ
6.·´»÷ʱ¿Ì¡¬£¡
ÏÖÔÚÈÃÎÒÃǰÑÕâËÄÌõ×é³ÉÒ»¸ö¸ø¸½½ü300ÏñËØÒÔÄÚNPCÉÏ˪»ðdebuffµÄЧ¹û°É¡«
6.1.˼·£¨ÉìÊÖµ³¿ÉÒÔÌø¹ýÕâÒ»¶ÎÖ±½Ó¸´ÖÆºó·½µÄ³ÉÆ·£¬¸ÐÐËȤµÄ»¹ÊÇ¿´Ò»Ï°ɡ«£©
ÏȱéÀúËùÓÐNPC¼Ç×÷n£ºforeach(NPC n in Main.npc)
²Ù¡á×÷¿ªÊ¼¡¬£¬Ê×ÏÈÊÇÈ·¶¨·¶Î§£º
NPCËùÔڵľØÐÎÊÇnew Rectangle((int)n.position.X,(int)n.position.Y,n.width,n.height)
Íæ¼ÒÉÏÏÂ×óÓÒ300ÏñËØµÄ¾ØÐÎÊÇnew Rectangle((int)p.position.X-300,(int)p.position.Y-300,p.width+600,p.height+600)
½ÓÏÂÀ´ÊÇÅж¨Ïཻͬʱȷ±£n»¹»î×Å¡¬£¬¶øÇÒÊǵжÔNPC£º
if(n.active&&!n.friendly&&new Rectangle((int)n.position.X,(int)n.position.Y,n.width,n.height).Intersects(new Rectangle((int)p.position.X-300,(int)p.position.Y-300,p.width+600,p.height+600)))
×îºóÂï¡¡³¢³¢À´×Ô±±¹úµÄFFFÍž«Éñ°É¡¬£¡
n.AddBuff(44,300);
6.2.³ÉÆ·´úÂ룺
foreach(NPC n in Main.npc){
¡¡¡¡if(n.active&&!n.friendly&&new Rectangle((int)n.position.X,(int)n.position.Y,n.width,n.height).Intersects(new Rectangle((int)p.position.X-300,(int)p.position.Y-300,p.width+600,p.height+600))){
¡¡¡¡¡¡¡¡n.AddBuff(44,300);
¡¡¡¡}
}
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¼ÓÊý×־ͿÉÒÔÁË
¡¾ÁÔÆæ+ƪ£º¸¨Öú»ðÁ¦¡¿
Ìáʾ£ºÕâһƪ½«»áÓдóÁ¿µÄÓ¢ÓïºÍÊýѧ³É·Ö¡þ£¬²»¹ýLZÏàÐÅÄãÃÇ»á±ÈÉÏѧÆÚÓ¢Óïµ¹10µÄLZ¿´µÃ¸üÃ÷°×µÄ¡«
µ±È»×ʼ»¹ÊÇϲÎÅÀÖ¼ûµØ·ÖÌõ½²½â´úÂ룺
1.Projectile.NewProjectile(×ø±êX,×ø±êY,ËÙ¶ÈX,ËÙ¶ÈY,ÖÖÀà,É˺¦,»÷ÍË,ËùÊôÍæ¼Ò,ai0,ai1)
×ÖÃæÒâ˼¡þ£¬ÓÃÀ´ÔÚÊÀ½çÀïÉú³ÉÒ»¸öproj¡þ£¬ÖÐÐĶÔ×¼¸ø¶¨µÄ×ø±ê£¬ËÙ¶ÈΪ¸ø¶¨ËÙ¶È¡þ£¬ÖÖÀà¡þ¡¢É˺¦¡¢»÷Í˵ȵȶ¼ÊÇ¿ÉÒÔÖ¸¶¨µÄ¡þ£¬ËùÊôÍæ¼ÒÒ»°ãдMain.myPlayer»òÕßp.whoAmI£¨µ±×Ô¼º±»±àºÅΪpʱ£©ÖÁÓÚÄǸöai0ºÍai1¡þ£¬Ä¿Ç°»¹²»ÐèÒªËüÃÇ£¬ÔÚдµÄʱºò¿ÉÒÔ´¿´âÊ¡ÂÔÕâÁ½Ïî¡þ£¬»òÕßÌî0
Õâ¾ä»°¿ÉÒÔ˵ÊǸ½¼Ó»ðÁ¦µÄºËÐÄ£¬Ã»ÓÐËüÒ»Çж¼ÊÇÃâ̸£¬ÏëÏóһϣ¬¶Ô×¼¹ÖÎï°´ÏÂÊó±ê£¬ÏëÈûðÇò·É¹ýÈ¥¾Í·É»ðÇò£¬Ïë·É¼¤¹â¾Í·É¼¤¹â¡¡
ÇŶ¹Âé´ü£¡µçÄÔÔõô֪µÀÄãÏëÈÃÄǸöproj·Éµ½ÄÄÀïÈ¥£¿ÏÂÃæÊÇһЩÓйØÈ·¶¨ËÙ¶È·½ÏòµÄ½²½â£º
¢ÙÈý½Çº¯ÊýÌì²Å£¬»òÕ߯½ÃæÏòÁ¿ÍòÄê¹Ò¿Æ£¬ÇëǰÍùÌõÄ¿2
¢ÚÆ½ÃæÏòÁ¿Ñ§°Ô»òÕßÍ´ºÞÈý½Çº¯Êý£¬ÇëǰÍùÌõÄ¿3
1.1.ÏÈÈ·¶¨×Ô¼ººÍÊó±êµÄλÖðɡ«
Vector2 pc=p.position+new Vector2(p.width,p.height)/2;
Vector2 mc=Main.screenPosition+new Vector2(Main.mouseX,Main.mouseY);
2.Math.Atan2(¶Ô±ß,б±ß)
Á½¸öÏòÁ¿×÷²î£¬µÃµ½ÁËʲô£¿ÏòÁ¿£¿´í£¡ÊÇÖ±½ÇÈý½ÇÐΣ¡
float r=(float)Math.Atan2(mc.Y-pc.Y,mc.X-pc.X);
(Õâ¸öº¯ÊýÊÇ·´ÕýÇУ¬ÓÖ²»ÊÇ·´ÕýÇУ¬ÒòΪËüµÄ¶Ô±ßºÍб±ßËæ±ãÄĸöÈ¡0¶¼ÊÇ¿ÉÒÔÊä³ö½á¹ûµÄ£»¶øÇÒËüµÄÖµÓòÊÇ2¦Ð£¬Ò²¾ÍÊÇһȦ£¡)
½ÓÏÂÀ´£¬Vector2 v=new Vector2((float)Math.Cos(r),(float)Math.Sin(r));
Õâ¾ÍÊǵ¥Î»³¤¶È£¬·½Ïò´ÓÍæ¼ÒÖÐÐÄÖ¸ÏòÊó±êµÄËÙ¶ÈÏòÁ¿
3.Vector2.Distance(ÏòÁ¿1,ÏòÁ¿2)
Õâ¸öÓï¾äÊÇÓÃÀ´ÇóÁ½¸öÏòÁ¿¾àÀëµÄ£¬Í¬ÑùµÄЧ¹ûÒ²¿ÉÒÔÓÃÇóÏòÁ¿³¤¶ÈµÄÓï¾ä£¨(ÏòÁ¿1-ÏòÁ¿2).Length()£©À´ÊµÏÖ
Q:ûÊÂÇóÏòÁ¿³¤¶È¸Éɶ£¿
A:ÏòÁ¿³ýÒÔ³¤¶ÈµÈÓÚµ¥Î»ÏòÁ¿
Ò²¾ÍÊÇ£ºVector2 v=(mc-pc)/Vector2.Distance(mc,pc);
Ò»·¢¡áÈë»êµÄµ¥Î»ÏòÁ¿¡«
ÏÂÃæ¾Í¿ÉÒÔ×é×°ÆðÀ´ÁË£º
Vector2 pc=p.position+new Vector2(p.width,p.height)/2;
Vector2 mc=Main.screenPosition+new Vector2(Main.mouseX,Main.mouseY);
Vector2 v=(mc-pc)/Vector2.Distance(mc,pc);
Projectile.NewProjectile(pc.X,pc.Y,v.X*6,v.Y*6,255,50,0,p.whoAmI);
ʾÀýÖÐΪʹÓõ¥Î»ÏòÁ¿·¨£¬ËÙ¶È´óСΪ6£¬É˺¦Îª50£¬ÎÞ»÷Í˵ĴÅÇò¼¤¹â
Ö±½Óд½øÈ¥£¿²»²»²»ÄÇÑù»á¹íÐóµÄ£¬¼¤¹â»¹ºÃ£¬Èç¹ûдµÄÊÇÀסá¹ÜÖ®ÀàµÄºÍгÎïÆ·µÄ»°£¬ÏëÏóÒ»ÏÂÿÃë60¸öÀסá¹Ü²»ÊÜ¿ØÖƵØÉä³öÈ¥µÄ¾°Ïó¡¡
¡¾ÁÔÆæ+ƪ£º¿ØÖÆ·¨¡¿
ǰ·½´óÁ¿ÉùÃ÷£¬×¢Òâ
Òª¿ØÖÆ»ðÁ¦Âï¡¡²»È»»á¹íÐó²»ÊÇÂð£¿ËùÒÔÕâÀï¾ÍÄÜÀûÓÃÉÏÇ°ÃæËµµÄ¶ÁÈ¡¼üÅÌ״̬ÁË
ÕâÀï¿ÉÒÔ·ÖΪ¼¸Àà´¥·¢»úÖÆ£¬ÒÔÏÂÓÃF¼ü×÷ΪÀý×Ó
0.ÌØ±ð˵Ã÷
Îñ±Ø¼ÓÉÏp.whoAmI==Main.myPlayerµÄÅж¨£¬Èç¹ûÄã²»Ïë×Ô¼º°´¼üÊ±È«Í¼Íæ¼Ò¶¼¿ªÊ¼·Åµ¯Ä»£¬ÏëÏóÒ»ÏÂȫͼ°´¼ü»á·¢Éúʲô
1.µ¥·¢
ÔÀíÊǼǼÉÏÒ»Ö¡µÄF¼ü״̬£¬Èç¹ûÁ½¸ö״̬²»Í¬£¬´ú±í°´Ï£¨µ¯Æð£©ÁËF£¬¼ü£¬¾Í¿ÉÒԷŵ¯Ä»ÁË
¾ßÌ壺
using System;
using TAPI;
using Microsoft.Xna.Framework;
namespace TAPI.¡¾MODÃû³Æ¡¿{
¡¡¡¡public class ¡¾µÀ¾ßÃû³Æ¡¿:ModItem{
¡¡¡¡¡¡¡¡public ¡¾µÀ¾ßÃû³Æ¡¿(ModBase modbase,Item i):base(modbase,i){}
¡¡¡¡¡¡¡¡bool oldF=false;
¡¡¡¡¡¡¡¡public override void Effects(Player p){
¡¡¡¡¡¡¡¡¡¡¡¡if(p.whoAmI==Main.myPlayer&&!oldF&&Main.keyState.IsKeyDown(Microsoft.Xna.Framework.Input.Keys.F)){
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//ÕâÀïÃæ¾ÍÊÇÐ´Ç°Ãæ·¢Éä×Óµ¯´úÂëµÄµØ·½
¡¡¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡¡¡¡¡oldF=Main.keyState.IsKeyDown(Microsoft.Xna.Framework.Input.Keys.F;
¡¡¡¡¡¡¡¡£ý
¡¡¡¡}
}
ÕâÖÖ´¥·¢·½Ê½µÄƵÂÊÊÇÈ¡¾öÓÚ°´¼üËٶȵģ¬Ò²¾ÍÊǰ´µÃÔ½¿ìÉä¡áµÃÔ½¿ì£¬ÀíÂÛÉäËÙ·åֵΪ30·¢Ã¿Ãë
2.Á¬·¢
ÔÀíÊÇÌí¼ÓÒ»¸ö¼ÆÊ±±äÁ¿£¬ÖÁÓÚ¾ßÌåÔõô¼ÆÊ±¾Í¿´¸öÈËϲºÃÁË£¬ÕâÀïÌṩһÖÖ½â¾ö·½°¸£º
using System;
using TAPI;
using Microsoft.Xna.Framework;
namespace TAPI.¡¾MODÃû³Æ¡¿{
¡¡¡¡public class ¡¾µÀ¾ßÃû³Æ¡¿:ModItem{
¡¡¡¡¡¡¡¡public ¡¾µÀ¾ßÃû³Æ¡¿(ModBase modbase,Item i):base(modbase,i){}
¡¡¡¡¡¡¡¡int timer=0;
¡¡¡¡¡¡¡¡public override void Effects(Player p){
¡¡¡¡¡¡¡¡¡¡¡¡if(timer>0)timer--;
¡¡¡¡¡¡¡¡¡¡¡¡else{
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡if(p.whoAmI==Main.myPlayer&&Main.keyState.IsKeyDown(Microsoft.Xna.Framework.Input.Keys.F)){
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡timer=10;
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//ÕâÀïÃæ¾ÍÊÇÐ´Ç°Ãæ·¢Éä×Óµ¯´úÂëµÄµØ·½
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡£ý
¡¡¡¡}
}
°´×¡F¾Í¿ÉÒÔÁ¬ÉäÁË¡«Ê¾ÀýΪÿÃë´¥·¢6´ÎµÄд·¨
3.×Ô¶¯
ÕâÀï¾ÍÂÔ¸´ÔÓÁ˵㣬ÐèÒª¾ßÓÐÏëÏóÁ¦ÒÔ¼°Êýѧ¹¦µ×£¬µ±È»»¹ÓжÔÓÚµ¯Ä»µÄÈȰ®=w=
¼òµ¥µØÀ´Ò»¸öÊ©·ÅÐýתÁµ¶µÄ½Å±¾°É¡«
using System;
using TAPI;
using Microsoft.Xna.Framework;
namespace TAPI.ctx{
¡¡public class ctxbullet : ModItem{
¡¡¡¡int timer = 0;
¡¡¡¡float r = 0;
¡¡¡¡float rv = 0;
¡¡¡¡float ra = 0.001f;
¡¡¡¡bool barrage = false;
¡¡¡¡public ctxbullet(ModBase modbase, Item i) : base(modbase, i) { }
¡¡¡¡public override void Effects(Player p){
¡¡¡¡¡¡rv += ra;
¡¡¡¡¡¡if (rv > 3) rv -= (float)Math.PI * 2f;
¡¡¡¡¡¡r += rv;
¡¡¡¡¡¡if (r > 3) r -= (float)Math.PI * 2f;
¡¡¡¡¡¡timer++;
¡¡¡¡¡¡if (timer > 3) timer -= 3;
¡¡¡¡¡¡if (barrage){
¡¡¡¡¡¡¡¡if (p.statMana < 3 || p.whoAmI != Main.myPlayer){
¡¡¡¡¡¡¡¡¡¡barrage = false;
¡¡¡¡¡¡¡¡¡¡goto outOfMana;
¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡else p.statMana -= 3;
¡¡¡¡¡¡¡¡if (timer % 3 == 0){
¡¡¡¡¡¡¡¡¡¡Vector2 pc = p.position + new Vector2(p.width, p.height) / 2;
¡¡¡¡¡¡¡¡¡¡Vector2 v = new Vector2((float)Math.Cos(r), (float)Math.Sin(r));
¡¡¡¡¡¡¡¡¡¡Projectile.NewProjectile(pc.X, pc.Y, v.X * 20f, v.Y * 20f, 274, 100, 0, p.whoAmI);
¡¡¡¡¡¡¡¡¡¡Projectile.NewProjectile(pc.X, pc.Y, -v.X * 20f, -v.Y * 20f, 274, 100, 0, p.whoAmI);
¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡}
¡¡¡¡outOfMana:
¡¡¡¡¡¡if (Main.keyState.IsKeyDown(Microsoft.Xna.Framework.Input.Keys.F)) barrage = !barrage;
¡¡¡¡}
¡¡}
}
ÒòΪÐèÒªÃÀ¹Û£¬¾Í¶à¶¨ÒåÁ˼¸¸ö½Ç¶ÈÔöËÙ£¬½Ç¶È¼ÓËÙ¶È£¬½Ç¶È¼±¶¯¶È£¬½Ç¶È¾·ÂζÈÉñÂíµÄ¡¡
Ч¹ûͼ£º
£¨ËùÒÔ˵µ¯Ä»¿ÉÒÔÅàÑøÊýѧºÍÏëÏóÁ¦=w=£©
µ±È»£¬×Ô¶¯À൯ϵÄÐÎʽÊǷdz£¶àµÄ£¬´ÓÉÏÎļòµ¥µÄÅç»·»·£¬µ½ÕÛ·µÉä¡¢Î÷ÐÐËÂÎÞÓàÄùÅÌ¡¢ÃÎÏëÌìÉú¡¢Ô×Ó±À»µ¡¢½ð¸ÕÇ¹ÆÆ£¬µÈµÈ¡¡Ö»Òª¿´¶®µ¯Ä»µÄ×é³É£¬tAPI¾ÍÄÜд³öÀ´£¡
Âï¡¡×÷ΪÊÎÆ·²¿·ÖµÄ½Ì³Ì»ù±¾ÒѾ½áÊøÁË£¬´ÓµÀ¾ßjsonµÄ´´½¨Ò»Ö±µ½ÔÚcsÀïÉùÃ÷ºÍ²Ù×÷±äÁ¿£¬»ù±¾ÏÖÔÚÒѾ¿ÉÒÔ¸´ÔËùÓÐÔ°æÊÎÆ·µÄЧ¹ûÁË£¬Íæ¼ÒÃÇÒ²ÄÜÊ×Ò¹Âãװվߣ»úеÈýÍõÁË

Ì©ÀÈðÑÇ1.4ÊÖ»ú°æ">
ÏÂÔØ
ÏÂÔØ
ÏÂÔØ 
ÏÂÔØ
ÏÂÔØ
ÏÂÔØ
ÏÂÔØ
ÏÂÔØ
ÏÂÔØ
ϲ»¶
¸ßÐË
¹íÁ³
ºÇºÇ
ÎÞÁÄ
ÉËÐÄ





