unity3D克隆50个游戏对象并输出Json格式的文本
2023-09-14 08:57:08 时间
http://wenku.baidu.com/link?url=tl8q_aj1n-U267XkKtSZISaw6jKJ1woh4CJkDUr1AwEzllSAv7P0r7cawXXSyDVXNf6mjKZaXr15XiX3tKL8xCrMcxtGKpE2P3fSDnvFEdG
using UnityEngine; using System.Collections; using LitJson; using System.Text; using System.IO; public class Prefabs : MonoBehaviour { public GameObject cube; public GameObject[] CubePrefabs; public int i; public int j = 0; // Use this for initialization void Start() { //CubePrefabs = new GameObject[50]; GameCopy(); } // Update is called once per frame void Update() { } void GameCopy() { CubePrefabs = new GameObject[50]; string filepath = Application.dataPath + @"/StreamingAssets/json.txt"; FileInfo t = new FileInfo(filepath); if (!File.Exists(filepath)) { File.Delete(filepath); } StreamWriter sw = t.CreateText(); for (i = 0; i < 50; i++) { CubePrefabs[j] = Instantiate(cube, new Vector3(i * 1.5f, 0, 0), Quaternion.identity) as GameObject; //Debug.Log("Position" + CubePrefabs[j].transform.position); //Debug.Log("Rotation" +CubePrefabs[j].transform.rotation); //Debug.Log("Scale" + CubePrefabs[j].transform.localScale); j++; } foreach (GameObject obj in CubePrefabs) { StringBuilder sb = new StringBuilder(); JsonWriter writer = new JsonWriter(sb); writer.WriteObjectStart(); writer.WritePropertyName("name"); writer.Write(obj.name); writer.WritePropertyName("Position"); writer.WriteArrayStart(); writer.WriteObjectStart(); writer.WritePropertyName("X"); writer.Write(obj.transform.position.x); writer.WritePropertyName("Y"); writer.Write(obj.transform.position.y); writer.WritePropertyName("Z"); writer.Write(obj.transform.position.z); writer.WriteObjectEnd(); writer.WriteArrayEnd(); writer.WritePropertyName("Rotation"); writer.WriteArrayStart(); writer.WriteObjectStart(); writer.WritePropertyName("X"); writer.Write(obj.transform.rotation.x); writer.WritePropertyName("Y"); writer.Write(obj.transform.rotation.y); writer.WritePropertyName("Z"); writer.Write(obj.transform.rotation.z); writer.WriteObjectEnd(); writer.WriteArrayEnd(); writer.WritePropertyName("Scale"); writer.WriteArrayStart(); writer.WriteObjectStart(); writer.WritePropertyName("X"); writer.Write(obj.transform.localScale.x); writer.WritePropertyName("Y"); writer.Write(obj.transform.localScale.y); writer.WritePropertyName("Z"); writer.Write(obj.transform.localScale.z); writer.WriteObjectEnd(); writer.WriteArrayEnd(); writer.WriteObjectEnd(); Debug.Log(sb); sw.WriteLine(sb.ToString()); } sw.Close(); sw.Dispose(); }
相关文章
- Unity教程之-基于行为树与状态机的游戏AI
- Java实现 LeetCode 794 有效的井字游戏 (暴力分析)
- 【刷题】面筋-游戏测试-对二次元游戏的认识
- 【刷题】面筋-测开-游戏向-王者荣耀背包测试用例
- 【刷题】面筋-游戏测试-什么样的游戏可以称为一个好的游戏
- 【BZOJ 1025】[SCOI2009]游戏
- ZZNUOJ_用C语言编写程序实现1519:去师院的旅程:规律游戏(附完整源码)
- 强扩展、强一致、高可用…GaussDB成为游戏行业的心头爱
- 【Android 逆向】逆向修改游戏应用 ( APK 解析工具 | 解包 -> 分析 -> 重打包 -> 签名 流程 )
- C#开发的OpenRA的游戏主界面怎么样创建
- C++的学习心得和知识总结(十七)|Visual Studios 2019配置游戏开发引擎HGE1.8教程
- 基于Pygame开发的最完美的飞机大战游戏