【Unity 3D學(xué)習(xí)】獲取鼠標(biāo)滑動(dòng)方向(上下左右)-控制攝像機(jī)圍繞物體旋轉(zhuǎn)

usingUnityEngine;

usingSystem.Collections;

publicclassModelRotationScript?:?MonoBehaviour?{

? ? ?publicGameObject?model;//目標(biāo)物體

? ? ?publicCamera?myCamera;//攝像機(jī)

? ? ?Vector2?first?=?Vector2.zero;//記錄鼠標(biāo)點(diǎn)擊的初始位置

? ? ?Vector2?second?=?Vector2.zero;//記錄鼠標(biāo)移動(dòng)時(shí)的位置


? ? ?booldirectorToLeft?=false;

? ? ?booldirectorToRight?=false;

? ? ?booldirectorToUp?=false;

? ? ?booldirectorToDown?=false;

? ? ?booldragging?=false;//標(biāo)記是否鼠標(biāo)在滑動(dòng)

? ? ?//?Use?this?for?initialization

? ? ?voidStart?()?{

? ? ?}

? ? ?//?Update?is?called?once?per?frame

? ? ?voidUpdate?()?{

? ? ?if(Input.GetMouseButton(0))?{

? ? ? ? ? ? ? ?Ray?ray?=myCamera.ScreenPointToRay?(Input.mousePosition);

? ? ? ? ? ? ? ?RaycastHit?hit?;

? ? ? ? ? ? ? ?if(Physics.Raycast?(ray,outhit))?{

? ? ? ? ? ? ? ? ? ? //print(hit.collider.gameObject.name);

? ? ? ? ? ? ? ? ? ? if(hit.collider.gameObject.name?=="3D?Model"&&?dragging?==true)?{

? ? ? ? ? ? ? ? ? ? ? ? ? Vector3?newPosition?=?Vector3.zero;

? ? ? ? ? ? ? ? ? ? ? ? ? floatspeed?=?0;

? ? ? ? ? ? ? ? ? ? ? ? ? if(directorToLeft?==true)?{

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? newPosition?=newVector3?(0,?-1,?0);

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? speed?=?15;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? print?("left");

? ? ? ? ? ? ? ? ? ? ? ? ? ?}

? ? ? ? ? ? ? ? ? ? ? ? ? ?if(directorToRight?==true){

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? speed?=?10;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? newPosition?=newVector3?(0,?1,?0);

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? print?("right");

? ? ? ? ? ? ? ? ? ? ? ? ? ?}

? ? ? ? ? ? ? ? ? ? ? ? ? if(directorToUp?==true)?{

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? speed?=?15;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? newPosition?=newVector3?(1,?0,?0);

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? print?("up");

? ? ? ? ? ? ? ? ? ? ? ? ? ?}

? ? ? ? ? ? ? ? ? ? ? ? ? if(directorToDown?==true){

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? speed?=?10;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? newPosition?=newVector3?(-1,?0,?0);

? ? ? ? ? ? ? ? ? ? ? ? ? print?("down");

? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ? ? GetComponent().transform.RotateAround?(model.transform.localPosition,?newPosition,?speed?*?Time.deltaTime);

? ? ? ? ? ? ? }

? ? ? ? ? }

? ? ?}

? ? ?}

? ? ?voidOnGUI()?{

? ? ? ? ? if(Event.current.type?==?EventType.MouseDown){//記錄鼠標(biāo)按下的位置

? ? ? ? ? ? ? ?first?=?Event.current.mousePosition?;

? ? ? ? ? }

? ? ? ? ? dragging?=false;

? ? ? ? ? if(Event.current.type?==?EventType.MouseDrag){//記錄鼠標(biāo)拖動(dòng)的位置

? ? ? ? ? ? ? ? dragging?=true;

? ? ? ? ? ? ? ? second?=?Event.current.mousePosition?;

? ? ? ? ? ? ? ? Vector2?slideDirection?=?second?-?first;

? ? ? ? ? ? ? ? floatx?=?slideDirection.x,?y?=?slideDirection.y;

? ? ? ? ? ? ? ? if(y?<?x?&&?y?>?-x)?{//?right

? ? ? ? ? ? ? ? ? ? ? directorToLeft?=false;

? ? ? ? ? ? ? ? ? ? ? directorToRight?=true;

? ? ? ? ? ? ? ? ? ? ? directorToUp?=false;

? ? ? ? ? ? ? ? ? ? ? directorToDown?=false;

? ? ? ? ? ? ? ? ?} elseif(y?>?x?&&?y?<?-x)?{//?left

? ? ? ? ? ? ? ? ? ? ? directorToLeft?=true;

? ? ? ? ? ? ? ? ? ? ? directorToRight?=false;

? ? ? ? ? ? ? ? ? ? ? directorToUp?=false;

? ? ? ? ? ? ? ? ? ? ? directorToDown?=false;

? ? ? ? ? ? ? ? ?} elseif(y?>?x?&&?y?>?-x)?{//?up

? ? ? ? ? ? ? ? ? ? ? directorToLeft?=false;

? ? ? ? ? ? ? ? ? ? ? directorToRight?=false;

? ? ? ? ? ? ? ? ? ? ? directorToUp?=true;

? ? ? ? ? ? ? ? ? ? ? directorToDown?=false;

? ? ? ? ? ? ? ? } else{//?down

? ? ? ? ? ? ? ? ? ? ? directorToLeft?=false;

? ? ? ? ? ? ? ? ? ? ? directorToRight?=false;

? ? ? ? ? ? ? ? ? ? ? directorToUp?=false;

? ? ? ? ? ? ? ? ? ? ? directorToDown?=true;

? ? ? ? ? ? ? ? }

? ? ? ? ? ?}

? ? }

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末失驶,一起剝皮案震驚了整個(gè)濱河市峡捡,隨后出現(xiàn)的幾起案子梢卸,更是在濱河造成了極大的恐慌薇宠,老刑警劉巖石咬,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件煤惩,死亡現(xiàn)場離奇詭異畜晰,居然都是意外死亡喻犁,警方通過查閱死者的電腦和手機(jī)汽纤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進(jìn)店門上岗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蕴坪,你說我怎么就攤上這事肴掷。” “怎么了背传?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵呆瞻,是天一觀的道長。 經(jīng)常有香客問我径玖,道長痴脾,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任梳星,我火速辦了婚禮赞赖,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘冤灾。我一直安慰自己前域,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布韵吨。 她就那樣靜靜地躺著匿垄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上椿疗,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天漏峰,我揣著相機(jī)與錄音,去河邊找鬼届榄。 笑死芽狗,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的痒蓬。 我是一名探鬼主播童擎,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼攻晒!你這毒婦竟也來了顾复?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤鲁捏,失蹤者是張志新(化名)和其女友劉穎芯砸,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體给梅,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡假丧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了动羽。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片包帚。...
    茶點(diǎn)故事閱讀 38,100評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖运吓,靈堂內(nèi)的尸體忽然破棺而出渴邦,到底是詐尸還是另有隱情,我是刑警寧澤拘哨,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布谋梭,位于F島的核電站,受9級特大地震影響倦青,放射性物質(zhì)發(fā)生泄漏瓮床。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一产镐、第九天 我趴在偏房一處隱蔽的房頂上張望隘庄。 院中可真熱鬧,春花似錦磷账、人聲如沸峭沦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春绰咽,著一層夾襖步出監(jiān)牢的瞬間菇肃,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工取募, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留琐谤,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓玩敏,卻偏偏與公主長得像斗忌,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子旺聚,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內(nèi)容