收藏本站

當前位置:首頁 / 游戲庫 / 泰拉瑞亞

泰拉瑞拉飾品制作方法

時間:2014-02-18 16:36:04 來源:k73電玩之家 作者:小新 熱度: 134

《泰拉瑞拉》的飾品制作方法其實還是有一些麻煩的,玩家們初上手制作可能會遇到一些困難,不過我想這些都不是玩家們想要制作飾品的阻礙,希望以下的飾品的制作方法,可以讓玩家們在這款游戲中可以獲得更多的樂趣。

【DEBUG-查錯階段】

首先是同時掛上蒸汽朋克翅膀、火焰粒子以及星星gore的照片一張

泰拉瑞拉飾品制作方法

這里需要注意一點:cs開頭的using應(yīng)該是using Microsoft.Xna.Framework;

也就是說,模板應(yīng)該是如下:

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原版的一些方法組來答到寓守于攻、不戰(zhàn)而退敵的效果

首先……先介紹一些需要用到的代碼

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)

注:矩形的坐標和長寬必須是整數(shù),在使用到玩家或npc坐標的地方請在前面加個(int),表示取整

2.Rectangle.Intersects(Rectangle r1,Rectangle r2)

intersects方法組,隸屬于xna特有的數(shù)學(xué)系(重申一遍前面cs格式的.Graphics一定要刪掉?。?,用來判定兩個矩形是否相交,輸出邏輯值(真或假)

p.s.判定是否在范圍內(nèi)時好像比直接計算距離略快一點,缺點就是判定是方的不好看

……嘛,戰(zhàn)斗時誰還管好不好看呢?

3.foreach(類型 代號 in 組)

就像這個語句的名字一樣,它可以把某個組里的所有東西都拉出來給一個代號,比如foreach(NPC n in Main.npc)就是檢索游戲中所有NPC并給每個NPC起個名字:n;接下來這個n將要受到什么代碼的操(rou)作(lin),就完全是個人喜好的問題了

4.NPC.AddBuff(int BUFF類型,int BUFF持續(xù)時間)

是時候讓那些可惡的怪物們嘗嘗FFF團的怒火了!有了這個方法組,給NPC隨意加debuff將不是夢想!

·BUFF類型就是想要加的BUFF的編號,比如燃燒是24,詛咒燃燒是39,霜火燃燒是44,等等

·BUFF持續(xù)時間是按幀算的,60幀=1秒(0處理落率),如果這里寫60就是一秒,寫3600是一分鐘,寫23333333就是約4.50102874天,依據(jù)自己需求來決定時間吧

5.if(條件)

直譯:如果滿足條件就執(zhí)行后面的內(nèi)容,條件應(yīng)為邏輯值

5.2.else

“否則”是“如果”的好姬友,用于在if的條件不成立時執(zhí)行后面的語句

5.2.1.多層判定

那啥……else后面也能跟if,所以如果多重判定就可以寫成:

if(條件1){代碼段1}

else if(條件2){代碼段2}

else if(條件3){代碼段3}

else……

……

……else{都不滿足時的代碼段}

5.2.邏輯值的運算

如果需要同時判定多個條件成立,幾個條件就套上幾個if?如果需要多個條件任一成立,幾個條件就寫幾個else,然后在里面寫相同語句?乃們out了!其實許多條件也是可以合并成一個條件的

需要用到的就是邏輯運算符:且(&&)、或(||)和非(!)

且就是數(shù)字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.反擊時刻!

現(xiàn)在讓我們把這四條組成一個給附近300像素以內(nèi)NPC上霜火debuff的效果吧~

6.1.思路(伸手黨可以跳過這一段直接復(fù)制后方的成品,感興趣的還是看一下吧~)

先遍歷所有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);

}

}

相關(guān)導(dǎo)航

泰拉瑞亞

泰拉瑞亞

游戲平臺:3DSPSVPS3Xbox360

游戲類型:動作冒險沙盒開放

發(fā)售日期:2017-1-9 全部版本發(fā)售日
PSV美版:2013-12-17
PC中文版:2015-7-9
PS3日版:2013-11-5
Xbox360歐版:2013-3-27
Xbox One美版:2014-11-14
3DS, New 3DS美版:2016-2-23
3DS, New 3DS歐版:2016-2-12
3DS, New 3DS中文版:2015-12-21
Android, iOS中文版:2024-5-1
WIIU美版:2016-4-12
WIIU歐版:2016-4-12
PC中文版:2011-5-17
PC, Android, iOS中文版:2017-1-9

游戲版本:日版美版歐版中文版

游戲標簽:游戲推薦經(jīng)典游戲好玩的游戲游戲排行榜

84

總分 玩家評分:40 k73評分:44
畫面:8
劇情:8
系統(tǒng):8
音樂:8
耐玩:8

收藏本站 | 聯(lián)系我們 | 發(fā)展歷程 | 版權(quán)聲明 | 下載幫助 | 廣告服務(wù) | 軟件提交 | 意見反饋

Copyright 2008-2020 破解游戲排行榜 版權(quán)所有 鄂ICP備17000873號

k73所有游戲及軟件下載資源均來源自互聯(lián)網(wǎng),并由網(wǎng)友上傳分享。如有侵權(quán),請來電來函告之。

k73手游