#解密类游戏开发--unity使用笔记(一)


实现如下关卡:

任务触碰黄箱,右侧黑条下降,并且只可以交互三秒

image

实现触碰:

unity碰撞有两种:

image

因为这里实现触碰黄点的交互,所以可以选择OnTriggerStay2D

void OnTriggerStay2D(Collider2D other) { if(other.gameObject.tag == "yellowPot") { space = true; //space 是交互按钮变量,为true时可以进行下一步交互 } }

黑墙的移动:
wall.Translate(new Vector3(0f, -0.5f, 0f) * moveSpeed * Time.deltaTime); //wall :public Transform wall;
控制时间:通过Time.deltatime记录每帧花的时间

    private bool haved; //人物需要离开黄点的判断
    private bool wallOver; //墙是否到达地步
if(wallOver && haved && space && Input.GetKey(KeyCode.Space))
        {
            key1 += Time.deltaTime;
            Debug.Log(key1);
            wall.Translate(new Vector3(0f, -0.5f, 0f) * moveSpeed * Time.deltaTime);
            if(key1 >= 3.0f )
            {
                Debug.Log(key1);
                haved = false;
            }
        }
        if(Input.GetKeyUp(KeyCode.Space))
        {
            key1 = 0f;
        }
 void OnTriggerExit2D(Collider2D other) {
        if(other.gameObject.tag == "yellowPot")
        {
            space = false;
            haved = true;      
        }
        
    }

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容