1. 程式人生 > >Unity3D --//2d遊戲 怪物左右移動,碰撞方向判斷

Unity3D --//2d遊戲 怪物左右移動,碰撞方向判斷

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class EnemyContro : MonoBehaviour {

    // Use this for initialization
    public float speed = 1;
    int moveDir = 1;
    Animator myAnimator;
	void Start () {
        myAnimator = GetComponent<Animator>();

    }
	
	// Update is called once per frame
	void Update () {
        transform.Translate(Vector2.right * speed *moveDir* Time.deltaTime);
	}

    private void OnCollisionEnter2D(Collision2D collision)
    {
      
        Vector2 co_dir = collision.contacts[0].normal;

        float angle_right = Vector2.Angle(Vector2.right, co_dir);
        float angle_left = Vector2.Angle(Vector2.left, co_dir);
        float angle_down = Vector2.Angle(Vector2.down, co_dir);
        if(angle_right < 45)
        {
            moveDir = 1;
        }

        if (angle_left < 45)
        {
            moveDir = -1;
        }

        if (angle_down <45)
        {
            myAnimator.Play("enemy_die");
            Destroy(gameObject, 0.1f);
        }
    }
}

相關推薦

Unity3D --//2d遊戲 怪物左右移動碰撞方向判斷

using System.Collections; using System.Collections.Generic; using UnityEngine; public class EnemyContro : MonoBehaviour { // Use thi

關於《Unity3D/2D遊戲開發從0到1》書籍再版說明

unity2017培訓書籍   unity從0到1 unity2017版書籍再版 unity2017教學書籍 關於《Unity3D/2D遊戲開發從0到1》第一版本在2015年7月1日全國發行,累計得到不少國內高校教師、培訓機構的好評。但是由於Unity官方對於技術不斷的升級與

cocos2d-x 如何使用CCProgressTimer作為血條實現跟隨怪物進行移動自動掉血然後死亡。

1、如何使用CCProgressTimer  2、如何跟隨怪物  3、如何掉血和死亡  4、結構層次。  //注意加紅色部分 樣例程式碼如下: 怪物的定義: class Enemy :public CCSprite { public:     Enemy(CCPoint

java實現兩個select框內容左右移動js例項

js編碼:$(document).ready(function (){//雙擊將選中的option追加至select2中$("#select1").dblclick(function (){$("#select1 option:selected").prependTo("#s

Unity3D/2D遊戲開發從0到1(第二版本)》 書稿完結總結

        前幾天,個人著作《Unity3D/2D遊戲開發從0到1(第二版)》經過七八個月的技術準備以及近3個月的日夜編寫,在十一長假後終於完稿。今天抽出一點時間來,給廣大熱心小夥伴們彙報一下書籍概況。 17年初,隨著Unity5.6以及Unity2017Beta快速迭

開源2D遊戲引擎(Java&Android)LGame-0.3.2版正式釋出

PS:為了多平臺版本的優化與整合,本年內(2011)不會正式釋出0.3.3版LGame。不過,LGame專案SVN根目錄下有LGame-Anroid-0.3.3版的測試版jar及原始碼提供。除尚未附帶RTS模組外,該版與正式的0.3.3內容完全一致(此版會每週進行一次Bug

Unity3D中開發2D遊戲——簡單控制物體移動

在Unity3D中開發2D遊戲簡單實現物體的上下左右移動1.簡單實現物體的上下左右移動(左前右前)掛到物體下(本人學習過程中所記筆記 給像我一樣的新人提供方便)2.如何正確顯示物體移動時方向定義public精靈陣列tankSprite[]實現按下方向鍵同時顯示物體的正確方向

unity3D遊戲分解之角色移動和相機跟隨

ini img form static 錄像 void 方法 lda okr 遊戲中,我們經常會有這樣的操作,點擊場景中某個位置,角色自動移動到那個位置,同時角色一直是朝向那個位置移動的,而且相機也會一直跟著角色移動。有些遊戲,鼠標滑動屏幕,相機就會圍繞角色旋

左右固定中間移動的效果

body nowrap style 分享 ont html com http utf-8 在網上找了了好多的demo都不能用,最後去找我們公司的大神解決了。 要寫這個你首先要知道兩點, 1. .scroll() .scrollTop(); .scrollLeft

Unity3D 2D Sprite描邊效果Shader可手動調整效果適配

light position step oat fde text 等等 blog tin   最近兩個月學了很多Shader的知識,現在也算入點門了。現在網上有很多2D描邊的Shader,說實話大多數很差勁。有些多余的條件判斷影響效率,提供的參數也不夠適配所有圖片。因為美術

css3實現顏色漸變、元素的2D轉換(元素的旋轉縮放移動傾斜等)、元素轉換過渡效果

一、顏色漸變:background: linear-gradient(direction, color-stop1, color-stop2, ...); 引數:direction: 方向或者角度;  color-stop1, color-stop2, ... :指定漸變的

jquery 圖片左右切換一長條的顯示點選左右移動

菜鳥啊,想了一天才寫出來,唉。 ps: 生活無樂趣,程式碼更加無樂趣! .hdjs{display:inline-block; width:100%; margin-top:4px; position: relative; height:101px; background: url(".

unity3D筆記之十五 移動遊戲優化貼士

String是一個很常用的引用型別物件。當代碼裡存在字串拼接、直接或間接呼叫ToString()函式時,會生成字串的副本,也就產生了記憶體分配。例如:呼叫Object.name屬性,即使每次返回值是固定的,依然是不同的String物件,因為這裡每次返回都是一個物件拷貝。所以建

2d遊戲中關於碰撞以及渲染層級關係

前言 在做2d遊戲的時候,發現一點問題,物體與物體之間可以通過sorting layer與order in layer 來進行分層 我很疑惑,這樣進行分層之後,不同層之間的物體是否還會發生碰撞 後來瞭

unity3d用程式碼建立資料夾移動複製

新建場景Scene,新增Button和Button(1). 在Canvas新增如下指令碼:    public Button but;//建立資料夾的Button     int addID = 0;     public Button butmvoe;//複製和移動

unity3d-程式碼控制遊戲角色控制器移動

先上一個gif看看效果。因為圖片大小限制。所以錄製的比較小。個人認為效果比較牽強。特別是裡面的邏輯程式碼。  工程結構圖  這次實現的效果是:  1:攝像機跟著角色移動,上篇部落格說的是。把攝像機變成角色的子物件。發現沒有我想要的效果。跟著角色移動程式碼

input驗證ie9游標左右移動問題

input驗證,ie9下無法游標左右移動問題,找了解決方法 游標無法左右移動: 鍵盤彈起,只允許輸入數字:onkeyup="this.value=this.value.replace(/[^0-9]/g,'')" 貼上: onafterpaste="thi

Python12_專案一 :外星人入侵遊戲03(重構run_game() 且 在限制範圍內左右移動飛船)

為了更好地將程式碼模組化,我們將遊戲的主迴圈重構為兩個函式: check_event() 和 update_screen(),並且,將他們封裝到game_function.py檔案中 其中,監視鍵盤和滑鼠事件的操作我們叫做check_event(),實時更新螢幕的操作我們

關於相機實現在scene場景中的效果包括移動旋轉拉近方便在遊戲執行時檢視場景

我們都知道在scene場景內利用滑鼠可以隨意檢視場景,拉近拉遠,移動,那麼在遊戲執行時是無法做到的,這就需要我們利用程式碼來控制相機。 首先我們需要以下欄位等,儲存相機元件是為了可以使程式碼靈活。,不必掛載相機上。有兩種模式,一種計算基於螢幕中心,即你的操作中心點在螢幕中心,還有一種是基於上一幀

2D的RPG遊戲人物角色移動程式碼(以egret遊戲引擎、TypeScript語言為例)

一般2D的RPG人物移動有三種: (一)背景固定,角色移動 (二)角色固定,背景移動 (三)角色移動,背景動態移動 第一種在移動端的遊戲比較少見,但在PC端的模擬類遊戲比較常見,因為螢幕較大,背景固定即可,角色在背景上移動;第二種在移動端比較多見,就是角色固定在螢幕中間