逗游網(wǎng):值得大家信賴的游戲下載站!
發(fā)布時間:2014-02-18 來源:互聯(lián)網(wǎng)
3.Vector2.Distance(向量1,向量2)
這個語句是用來求兩個向量距離的,同樣的效果也可以用求向量長度的語句((向量1-向量2).Length())來實現(xiàn)
Q:沒事求向量長度干啥?
A:向量除以長度等于單位向量
也就是:Vector2 v=(mc-pc)/Vector2.Distance(mc,pc);
一發(fā)♂入魂的單位向量~
下面就可以組裝起來了:
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個雷♂管不受控制地射出去的景象……
【獵奇+篇:控制法】
前方大量聲明,注意
要控制火力嘛……不然會鬼畜不是嗎?所以這里就能利用上前面說的讀取鍵盤狀態(tài)了
這里可以分為幾類觸發(fā)機制,以下用F鍵作為例子
0.特別說明
務(wù)必加上p.whoAmI==Main.myPlayer的判定,如果你不想自己按鍵時全圖玩家都開始放彈幕,想象一下全圖按鍵會發(fā)生什么
1.單發(fā)
原理是記錄上一幀的F鍵狀態(tài),如果兩個狀態(tài)不同,代表按下(彈起)了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)){
//這里面就是寫前面發(fā)射子彈代碼的地方
}
oldF=Main.keyState.IsKeyDown(Microsoft.Xna.Framework.Input.Keys.F;
?。?
}
}
這種觸發(fā)方式的頻率是取決于按鍵速度的,也就是按得越快射♂得越快,理論射速峰值為30發(fā)每秒
2.連發(fā)
原理是添加一個計時變量,至于具體怎么計時就看個人喜好了,這里提供一種解決方案:
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;
上一篇: 阿加雷斯特戰(zhàn)記-AP變化詳解
下一篇: 各系五行套裝的實質(zhì)
《罪惡都市》決定版數(shù)據(jù)在Steam后臺更新
《Apex英雄》日蝕戰(zhàn)斗通行證預(yù)告 全新傳說皮膚等
《霍格沃茨之遺》登上Steam愿望單排行榜榜首
《布蘭博:山丘之王》試玩Demo上線 2023年發(fā)售
《刀劍神域》“今日正式發(fā)售” 官方發(fā)布周年紀(jì)念禮盒
《七龍珠:破界斗士》公布賽季更新路線圖
《獵天使魔女3》通過NS模擬器 在PC上以4K/60幀運行
《刺客信條:幻景》樂曲“Into the light”欣賞
《獵天使魔女3》首日更新 改進防走光模式調(diào)整平衡
《生化危機8》云游戲版發(fā)售預(yù)告公布 今日登陸Switch