Unity|小游戏复刻|见缝插针1(C#)
预备https://i-blog.csdnimg.cn/direct/57232b58fe6240ca80f3b4556357324d.png
[*]创建Scenes场景,Scripts脚本,Prefabs预制体文件夹
修改背景颜色
[*] 选中Main Camera
https://i-blog.csdnimg.cn/direct/c8969910c61d4b0eb66af164720aedd1.png
[*] 找到背景
https://i-blog.csdnimg.cn/direct/b1973996ba1e45898297dc546f2366a5.png
[*] 选择颜色,一种白中透黄的颜色
https://i-blog.csdnimg.cn/direct/6dccb7f3428c4e2186c521341fc2e1e4.png
创建小球
[*] 将文件夹里的Circle拖入层级里
https://i-blog.csdnimg.cn/direct/9a0a16cad5a648d79b1845ef923b5ed9.png
[*] 选中Circle,位置为左右居中,偏上,颜色为黑色,大小缩为0.7
https://i-blog.csdnimg.cn/direct/d53a6814bef5425a9cce34fe6251bcc6.png
https://i-blog.csdnimg.cn/direct/39e2a8f74846426ca14d3878f456cfbb.png
分数
[*] 创建Text
https://i-blog.csdnimg.cn/direct/1a440de6703743d2979b515d968f16b6.png
[*] 删撤除EventSystem,因为本例中UI不必要做任何事件
https://i-blog.csdnimg.cn/direct/f21c6f946bd742d2923ca0cf4ab34c5e.png
[*] 选中Text,点击重置,文本居中,颜色为白色,内容为0
https://i-blog.csdnimg.cn/direct/e0fd79a852e74742adee85b4f3d3729c.png
https://i-blog.csdnimg.cn/direct/31d9173af67947d892caccf362f0e771.png
[*]选中Canvas,将渲染模式改为世界空间,接着修改大小,改为100.100
https://i-blog.csdnimg.cn/direct/0926f1a0ae1b4521b5c53dc033894d80.png
https://i-blog.csdnimg.cn/direct/29c4b14f669e4e49a161d0d87cdab45b.png
[*] 将缩放改为0.01,拖动到小球上
https://i-blog.csdnimg.cn/direct/8b3b987c4382472095b414be9bb22ee9.png
[*] 使得Circle和Canvas的位置坐标同等,都为0,2,0
https://i-blog.csdnimg.cn/direct/a5f13f8bea5d4197adb816255bc2c48c.png
[*] 选择MainCamera设置为Canvas的事件摄像机
https://i-blog.csdnimg.cn/direct/05d64451d7a14036b26ddbb830825757.png
小球活动
[*] 创建一个脚本,选择MonoBehaviour,定名为RotateSelf
https://i-blog.csdnimg.cn/direct/dac6eecaa0ad4f64b100d093e0457b4d.png
[*] 将此脚本挂载到Circle的下面
https://i-blog.csdnimg.cn/direct/4f97d4c6e8e245d986c69aa9090756d1.png
[*] 编写脚本
using JetBrains.Annotations;
using UnityEngine;
public class NewMonoBehaviourScript : MonoBehaviour
{
public float speed = 90;
// Start is called once before the first execution of Update after the MonoBehaviour is created
void Start()
{
}
// Update is called once per frame
void Update()
{
transform.Rotate(new Vector3(0, 0, speed * Time.deltaTime));
}
}
[*]在场景中点击播放,可以看到Circle在逆时针旋转,如果想要顺时针旋转,在speed前加一个负号
https://i-blog.csdnimg.cn/direct/31f9d822766f427b8348cbb283d3573b.png
针头
[*]将针导入到层级里,将Pin的大小适当放大
https://i-blog.csdnimg.cn/direct/a6d4a82750cf4cb7b740d98d550560ca.png
https://i-blog.csdnimg.cn/direct/0e226c22769b4fcb9458304fc1ef1b5c.png
[*] 制作针的尾部,复制一个Circle
https://i-blog.csdnimg.cn/direct/e1457ee0b9024343bb198294997e4359.png
[*] 调整大小位置颜色
https://i-blog.csdnimg.cn/direct/0d32774c06ef4cd28f03e165f3cb0147.png
https://i-blog.csdnimg.cn/direct/34e584e6f0174955a9ca77fb617dd4b2.png
[*] 将Pin拖入Prefabs文件夹里,方便举行实例化创建
https://i-blog.csdnimg.cn/direct/414f86fdb2be489d8481b4217fd17d17.png
[*] 给针头添加碰撞器,选中针头,在检查器底下的添加组件,搜Circle Collider 2D添加
https://i-blog.csdnimg.cn/direct/665993ec6afe4869a450cebf83f717c8.png
https://i-blog.csdnimg.cn/direct/cc674303217a40d8bd77f31ff1b1d353.png
生成针
[*] 创建两个空对象,将第一个定名为StartPosition
https://i-blog.csdnimg.cn/direct/067d0d0977a5402396a45cf81a33f0ce.png
[*] 将Pin放到StartPosition的下面,如许可以举行预览,调整位置
https://i-blog.csdnimg.cn/direct/081fceac1eb64435a8d67af8fb27ad13.png
https://i-blog.csdnimg.cn/direct/7ff2983ba3db48e4a1bed17ff8de6136.png
[*]将StartPosition复制,拖到屏幕外面举行实例化
https://i-blog.csdnimg.cn/direct/640bd898f2ad42da947778befe9c8b13.png
https://i-blog.csdnimg.cn/direct/6d0b8a6cb0a2473ea4dd26334dc5478f.png
[*] 然后删去针,改名为SpawnPositon
https://i-blog.csdnimg.cn/direct/10c091b36799403199fdcdad4a22faec.png
[*] 创建一个空对象,定名为GameManager
https://i-blog.csdnimg.cn/direct/c16739a08b724fadb5fff763fd7c4073.png
[*] 创建一个GameManager脚本,挂载到对象下面
using UnityEngine;
public class GameManager : MonoBehaviour
{
private Transform startPosition;
private Transform spawnPosition;
public GameObject pinPrefab;
// Start is called once before the first execution of Update after the MonoBehaviour is created
void Start()
{
startPosition = GameObject.Find("StartPosition").transform;
spawnPosition = GameObject.Find("SpawnPosition").transform;
SpawnPin();
}
// Update is called once per frame
void Update()
{
}
void SpawnPin()
{
GameObject.Instantiate(pinPrefab, spawnPosition.position, pinPrefab.transform.rotation);
}
}
[*] 将PIn实例拖到右边的Pin Prefab里
https://i-blog.csdnimg.cn/direct/5330927ac60c43a58d7f5d7ceb3c2750.png
[*] 点击运行后屏幕外生成了针
https://i-blog.csdnimg.cn/direct/1a14a5563df4491aa0d40d52f058286d.png
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]