填空题 在场景中设置4个Button控件,分别用来执行对数据库的操作,单击“插入数据”按钮时,将3个“InputField”控件中输入的内容插入到数据库表中,单击“查询数据”按钮时,将插入的数据在Console控制台输出。脚本SQLiteDemo.cs,代码如下所示: using UnityEngine; using System.Collections; using Mono.Data.Sqlite; using System; using System.Data; using UnityEngine.UI; public class SQLiteDemo : MonoBehaviour { private SqliteConnection dbConnection; private SqliteCommand dbCommand; private SqliteDataReader reader; public InputField idInput; public InputField nameInput; public InputField classInput; private string studentName = "20241200 哪吒"; void Awake() { Debug.Log("这个项目是由" + studentName + "完成的。"); OpenDB("Data Source=./sqlitedemo.db"); } public void OpenDB(string connectionString) { try { dbConnection = new SqliteConnection(connectionString); dbConnection.Open(); Debug.Log("数据库连接成功"); } catch (Exception e) { string error = e.ToString(); Debug.Log($"数据库连接失败,错误信息:{error}"); } } public void CloseSqlConnection() { dbCommand = null; reader = null; if (dbConnection != null) { dbConnection.Close(); } dbConnection = null; Debug.Log("数据库连接已关闭"); } //执行SQL语句 public SqliteDataReader ExecuteQuery(string sqlQuery) { …… } public void ReadFullTable() { …… }【缺少答案,请补充】
相关试题
填空题 在场景中设置4个Button控件,分别用来执行对数据库的操作,单击“插入数据”按钮时,将3个“InputField”控件中输入的内容插入到数据库表中,单击“查询数据”按钮时,将插入的数据在Console控制台输出。脚本SQLiteDemo.cs,代码如下所示(代码省略),请将代码补充完整。
填空题 在同一个场景中使用两个摄像机对象实现分屏效果从而显示两个不同的天空盒,程序运行时用户可以按“空格”键切换不同的天空盒纹理。选择菜单Window→Rendering→Lighting→Environment,将Sky1天空盒拖拽到Skybox Material位置处,给Camera1对象添加Skybox组件,并将Sky2天空盒拖拽到Custom Skybox位置处。SkyboxDemo.cs脚本挂载到Camera1对象上,SkyboxDemo.cs代码如下所示: using System.Collections; using System.Collections.Generic; using UnityEngine; public class SkyboxDemo : MonoBehaviour { public float rotateSpeed = 15.0f; //设置摄像机的旋转速度 private GameObject camera1; //声明游戏对象用来获取摄像机 public Material[] First; //声明材质数组用于放置需要切换的天空盒 public Material[] Second; private int index; //第一个材质数组的索引 private int deindex; //第二个材质数组的索引 private string studentName = "20241200 哪吒"; void Awake() { camera1 = transform.Find("Camera1").gameObject; //获取挂载该脚本的游戏对象下名为"Camera1"的子对象并将其转换为GameObject类型 Debug.Log("这个项目是由" + studentName + "完成的。"); } void Update() { …… } } 程序运行结果如下所示: (控制台截图内容:包含“这个项目是由20241200 哪吒完成的。”“Lighting面板上的天空盒为: Sky1”“摄像机上的天空盒为: Sky4”等多条日志) 请将代码补充完整。
填空题 在场景中设置4个Button控件,分别用来执行对数据库的操作,单击“插入数据”按钮时,将3个“InputField”控件中输入的内容插入到数据库表中,单击“查询数据”按钮时,将插入的数据在Console控制台输出。脚本SQLiteDemo.cs,代码如下所示: using UnityEngine; using System.Collections; using Mono.Data.Sqlite; using System; using System.Data; using UnityEngine.UI; public class SQLiteDemo : MonoBehaviour { private SqliteConnection dbConnection; private SqliteCommand dbCommand; private SqliteDataReader reader; (代码片段结束) 请将代码补充完整。【缺少答案,请补充】
填空题 以下是ButtonImageSwitcher类的代码片段及程序运行结果,请将代码补充完整。 using System.Collections.Generic; using UnityEngine; public class ButtonImageSwitcher : MonoBehaviour { // 存储要切换的图片纹理 public Texture2D[] images; private int currentImageIndex = 0; private string studentName = "20241200 哪吒"; void Start() { Debug.Log("这个项目是由" + studentName + "完成的。"); Debug.Log("当前显示的是第" + (currentImageIndex + 1) + "张图片。"); } …… } 程序运行结果如下: [Console截图内容:显示“这个项目是由20241200 哪吒完成的。”、“当前显示的是第1张图片。”、“当前显示的是第2张图片。”]【缺少答案,请补充】
填空题 在同一个场景中使用两个摄像机对象实现分屏效果从而显示两个不同的天空盒,程序运行时用户可以按“空格”键切换不同的天空盒纹理。选择菜单Window→Rendering→Lighting→Environment,将Sky7天空盒拖拽到Skybox Material位置处,给Camera1对象添加Skybox组件,并将Sky2天空盒拖拽到Custom Skybox位置处。SkyboxDemo.cs脚本挂载到Camera1对象上,代码如下所示,请将代码补充完整。 using System.Collections; using System.Collections.Generic; using UnityEngine; public class SkyboxDemo : MonoBehaviour { public float rotateSpeed = 15.0f; //设置摄像机的旋转速度 private GameObject camera1; //声明游戏对象用来获取摄像机 public Material[] First; //声明材质数组用于放置需要切换的天空盒 public Material[] Second; //第二个材质数组?(可能代码有误,应该是两个材质数组?) private int index; //第一个材质数组的索引 private int deindex; //第二个材质数组的索引 // (代码不完整) }【缺少答案,请补充】
填空题 在射击类游戏神鸟打怪兽中有两个角色:神鸟与怪兽。脚本文件MainLogic.cs为主控模块,BulletLogic.cs为神鸟发射子弹模块,具体代码如下: using System.Collections; using System.Collections.Generic; using UnityEngine; public class MainLogic : MonoBehaviour { public static string studentName = "20241200 哪吒"; public static int number = 0; void Start() { Debug.Log("这个项目是由" + studentName + "完成的。"); Application.targetFrameRate = 60; } void Update() { } } using System.Collections; using System.Collections.Generic; using UnityEngine; public class BulletLogic : MonoBehaviour { [Tooltip("子弹飞行速度")] public float speed = 60; [Tooltip("子弹生命时长")] public float lifetime = 10; [Tooltip("爆炸的粒子特效的prefab")] public GameObject explosionEffect; void Start() { Invoke("SelfDestroy", lifetime); } void Update() { transform.Translate(0, 0, speed * Time.deltaTime, Space.Self); } private void OnTriggerEnter(Collider other) { …… } private void SelfDestroy() { Destroy(this.gameObject); } } 程序运行如下所示: (控制台截图内容:包含“这个项目是由20241200 哪吒完成的。”“子弹碰撞,other=怪兽(Clone)”“20241200 哪吒打死了1只怪兽”等多条日志) 请将上面代码补充完整。
填空题 创建一个从高空落下、多次碰撞地面反弹后最终停止的小球的物理模拟系统。代码如下所示,请将代码补充完整。 using UnityEngine; public class BouncingBallController : MonoBehaviour { [Header("物理参数")] [Range(1f, 10f)] public float initialHeight = 4f; // 高度 [Range(0f, 1f)] public float initialDrag = 1f; // Drag [Range(0f, 1f)] public float bounciness = 1f; // 弹力系数 [Range(0f, 1f)] public float dynamicFriction = 0f; // 动摩擦系数 [Range(0f, 1f)] public float staticFriction = 0f; // 静摩擦系数 public int collisionCount = 0; // 碰撞次数计数 public float collisionVelocity; // 速度 private Rigidbody rb; private PhysicMaterial material; private string studentName = "20241200 哪吒"; void Start() { rb = GetComponent<Rigidbody>(); if (rb != null) { // 根据初始高度设置小球位置 transform.position = new Vector3(transform.position.x, initialHeight, transform.position.z); rb.drag = initialDrag; // 获取物理材质 material = GetComponent<SphereCollider>().sharedMaterial; // 设置物理材质属性 material.bounciness = bounciness; material.dynamicFriction = dynamicFriction; material.staticFriction = staticFriction; Debug.Log("这个项目是由" + studentName + "完成的。"); } } void OnCollisionEnter(Collision collision) { …… } } 程序运行结果如下所示: [Console截图内容:显示“这个项目是由20241200 哪吒完成的。”、多次碰撞的日志,如“第1次碰撞,碰撞点坐标:(0.0,0.0,0.0),速度:6.13 m/s,小球位置:0.5978929”等]
填空题 在Unity中玩家通过方向键来控制角色移动,角色可以通过台阶爬上斜坡,CameraCharacter.cs脚本实现的功能是玩家通过方向键来控制角色的前进、后退和转向,每个小球的Tag均为“Ball”,并且碰撞到小球后将小球对象销毁,并将脚本挂载到Main Camera对象上。CameraCharacter.cs代码如下,请将代码补充完整。 using System.Collections; using System.Collections.Generic; using UnityEngine; public class CameraCharacter : MonoBehaviour { CharacterController controller; public float pushPower = 5.0f; public float speed = 6.0f; public float rotateSpeed = 3.0f; private string studentName = "20241200 哪吒"; void Awake() { controller = this.GetComponent<CharacterController>(); Debug.Log("这个项目是由" + studentName + "完成的。"); } void Update() { …… } void OnControllerColliderHit(ControllerColliderHit hit) { …… } } 程序运行结果如下所示: [Console截图内容:显示“这个项目是由20241200 哪吒完成的。”、多次“Sphere4被销毁!”等日志]