24507人加入学习
(76人评价)
Unity零基础入门 - 见缝插针(Unity2017)
价格 免费

拖拽赋值text拖不过去,

[展开全文]
caim · 2019-07-15 · 该任务已被删除 0

private Transfrom startpoint

private Transfrom spawnpoint

 

st

[展开全文]
Sleepy · 2019-07-13 · 该任务已被删除 0

StartPoint

[展开全文]
樱柠 · 2019-07-06 · 该任务已被删除 0

RotateSelf

[展开全文]
樱柠 · 2019-07-06 · 该任务已被删除 0

若不在点击时创建新的针,currentPin会一直指向久的针,再次点击时会导致当前针的位置重置,但指向不变

else
{
     transform.position = Vector3.MoveTowards(transform.position, Circle.transform.position, Time.deltaTime * speed * 3);//这里会继续执行
     if (Vector3.Distance(transform.position, Circle.transform.position) <= distance)
    {
        transform.position = new Vector3(Circle.transform.position.x, Circle.transform.position.y - distance, Circle.transform.position.x);
        isFly = false;
        transform.parent = Circle.transform;
    }
}
[展开全文]
冰花火 · 2019-06-14 · 该任务已被删除 1

神奇 自己居然看漏了 添加public

[展开全文]
outmen · 2019-05-28 · 该任务已被删除 0

要讲圆圈调成局部坐标 才能看出旋转   或改成椭圆比例 很好观察

[展开全文]
outmen · 2019-05-28 · 该任务已被删除 0

在GameManager中添加:

provate Camera mainCamera;

public float speed =3;

void start()

{
在第三行添加:mainCamera = Camera.main;

在第三行末尾添加:IEnumerator GameOverAnimation()

{

(此处添加一个死循环)

while(true)

{

mainCamera.backgroundColor = Color.Lerp(mainCamera.backgroundColor,Color.red,speed*Time.deltaTime);

mainCamera.orthographicSize = Mathf.Lerp(mainCamera.orthographicSize,4,speed*Time.deltaTime);

if(Mathf.Abs(mainCamera.orthographicSize-4)<0.01f)

{

break;

}

(Lerp:插值运算,由当前颜色插到目标颜色

yield return 0;(逐帧暂停)

}

yield return new WaitForSeconds(0.2f);

SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);

}

}

引入相关场景:

using UnityEngine.SceneManagement;

在public void GameOver()中添加:

StartCoroutine(GameOverAnimation());

[展开全文]
derlax · 2019-05-12 · 该任务已被删除 0

在GameManager的界面中:

private int score=0;

using UnityEngine;

using UnityEngin.UI;

public Text scoreText;

if(Input.GetMouseButtonDown(0))

{

(此处添加)score++;

scoreText.text=score.ToString();

}

[展开全文]
derlax · 2019-05-12 · 该任务已被删除 0

IEnumerator 

Color.Lerp(a,b,c)

yield return new  WaitForSeconds

Scenemanager.LoadScene(SceneManager.GetActiveScene[],bulidIndex)

[展开全文]
凤凰院凶真 · 2019-05-09 · 该任务已被删除 0

Ridbodyがない場合 当たり判定が実行不可能

is Trggle chufaモード

[展开全文]
凤凰院凶真 · 2019-05-09 · 该任务已被删除 0

对针头赋予一个纲体:RigidBody 2D

点开Is trigger触发模式

将Gravity Scale设为0(否则针头会自己掉下去)

添加新的脚本PinHead

为了方便判定是否与其他的针头碰撞,添加一个标签(Tag:PinHead)并在主界面版设置一下:

Tag中选择PinHead

private void OnTriggerEnter2D(Collider2D collision)

{

if(collision.tag =="Pinhead”

{

GameObject.Find("ganemanager").GetComponent<GameManager>().GameOver();

}

}

去GameManager中主函数里添加public void GameOver()

{

if(isGameOver) return;(第一次使用GameOver时会直接履行后面true的条件,如果为真,直接执行return)

GameObject.Find("Circle").GetComporent<RotateSelf>().enabled = false;

isGameOver = true;

}
此处为了防止GameOver多次调用,使用了bool函数:private bool isGameOver = false;
在GameManager中private void Update:

if(GameOver) return;(一旦触发,则不会履行后面的代码)

要注意:编写完的代码要应用一下()

[展开全文]
derlax · 2019-05-12 · 该任务已被删除 0

拖动针的位置,大致确定针的坐标。

在pin的主函数里添加:private Vector3 targetCirclePog;

void Start中targetCirclePogo = circle position;

targetCirclePog.y-=1.55f;

在else中:if(Vector3.Distance(transform.position,targetCirclePos)<0.05f)

{
trandform.position = targetCirclePos;

transform.parent = circle;

isFly = false;

}(保证针射到圆上,并同时能让针跟着圆转)

在GameManager中:if(Input.GetMouseButtonDown(0))

{

currentPin。StartFly();

(此处添加)SpawnPin;(保证针能被反复实例化)

}

(针的速度比较慢)将圆的类改为Private,并调整圆的速度。

[展开全文]
derlax · 2019-05-12 · 该任务已被删除 0

在Gamemanager中添加控制针的代码:
private void Update()

{

    if(Input.GetMuseButtonDown(0))

{

currentPin.StartFly();

}

}
打开Pin:在主函数(下面的)里添加public void StartFly(){

isFly = true;

isReach = true;

}

在GameManager主函数中加入:private Pin currentPin;
void SpawnPin()

{

(添加)currentPin = GameObject.Instantiate(pinPrefab,spaenPoint.position,pinPrefab.transform.rotation).GetComponent<Pin>();

}

在Pin主函数中加入:private Transform circle;在第二个if条件后添加else

在void Start中添加:circle = GameObject.Find(“Circle”).transform;

将else条件中startPoint.position改为circle

(现在的针只能实现发射,但没办法确定针的具体走向,且是使针到圆上,而不是插在圆上)

如出现运动轨迹有误,检查其调用对象是否出错。可用tag来修改并强制确认对象。

将Pin的void Start中:circle = GameObject.FindGameObjectWithTag(“Circle”).transform;

检查:将Pin:void Start中circle = GameObject.Find(“StartPoint”)修改成Circle

[展开全文]
derlax · 2019-05-12 · 该任务已被删除 0

创建工程和场景

创建工程选择2d

导入素材一个圆圈一个针

创建文件夹写入脚本

[展开全文]
小离岛 · 2019-05-04 · 该任务已被删除 0

将素材pin进行适当的调整,并导入到Main中

调节坐标,同时通过游戏界面来确认大小是否合适。

再调用一个圆的素材,放入到pin的素材中,调节圆的大小。

将pin拖拽到PerFabs文件夹中

对新建的圆进行碰撞实体化:Physics2D:Circle,并进行实际化的运行。

[展开全文]
derlax · 2019-05-04 · 该任务已被删除 0

在源文件里加入一个新的脚本RotateSports

脚本中添加transform.Rotate(new Vector3(0,0,speed*Time.deltaTime);

(现在的旋转为逆时针)在speed前面加上“-”即可改为顺时针。

[展开全文]
derlax · 2019-05-04 · 该任务已被删除 0

修改坐标x=0,y=1.7,z=0;

修改圆的大小:x=0.7,y=0.7;

于Main中建立一个新的UI:Canvas[Text(EvevtsSystem)]

修改影响的模式为World Code,将Text的字体修改成适当的大小和颜色,将Text的坐标修改到足以看得见的地方。

将Text中的文本格式调为居中(上下和左右),将文本与圆的坐标对齐。

给小球增加旋转效果:将Main Camera拖拽进Canvas中的Camera渲染系统中。

 

[展开全文]
derlax · 2019-05-04 · 该任务已被删除 0

这里有个问题呀,

[展开全文]
关键点 · 2019-04-28 · 该任务已被删除 1

Color.Lerp(本身颜色,目标颜色,速度);

Mathf.Lerp(本身szie,目标size,速度);

Mathf.Abs(); 差值

IEnumerator

[展开全文]
huzijing · 2019-04-16 · 该任务已被删除 0

授课教师

SiKi学院老师

课程特色

下载资料(1)
视频(12)

学员动态

我也 开始学习 01-案例演示
麻滋 加入学习