Unity 3D 计算机游戏设计实验指导书七.docx
《Unity 3D 计算机游戏设计实验指导书七.docx》由会员分享,可在线阅读,更多相关《Unity 3D 计算机游戏设计实验指导书七.docx(11页珍藏版)》请在冰豆网上搜索。
![Unity 3D 计算机游戏设计实验指导书七.docx](https://file1.bdocx.com/fileroot1/2023-1/2/d7322926-844c-41f1-9093-cf60b2371508/d7322926-844c-41f1-9093-cf60b23715081.gif)
Unity3D计算机游戏设计实验指导书七
Unity3D计算机游戏设计实验指导书(七)
三、实验内容及步骤
1.编写代码实现轻量级数据的存储和读取。
publicclasscunchu:
MonoBehaviour{
privatestringusername="";
privatestringpasswd="";
privatestringuserage="";
privatestringuserheight="";
privateboolshowInfo=false;
//Usethisforinitialization
voidStart(){
}
//Updateiscalledonceperframe
voidUpdate(){
}
voidOnGUI()
{
GUILayout.BeginHorizontal("box",GUILayout.Width(200));
GUILayout.Label("请输入用户名");
username=GUILayout.TextField(username,10);
GUILayout.EndHorizontal();
GUILayout.BeginHorizontal("box");
GUILayout.Label("请输入密码");
passwd=GUILayout.TextField(passwd,10);
GUILayout.EndHorizontal();
GUILayout.BeginHorizontal("box");
GUILayout.Label("请输入年龄");
userage=GUILayout.TextField(userage,10);
GUILayout.EndHorizontal();
GUILayout.BeginHorizontal("box");
GUILayout.Label("请输入身高");
userheight=GUILayout.TextField(userheight,5);
GUILayout.EndHorizontal();
if(GUILayout.Button("提交数据"))
{
showInfo=true;
PlayerPrefs.SetString("username",username);
PlayerPrefs.SetString("passwd",passwd);
PlayerPrefs.SetInt("userage",int.Parse(userage));
PlayerPrefs.SetFloat("userheight",float.Parse(userheight));
}
if(GUILayout.Button("取消查看"))
{
showInfo=false;
PlayerPrefs.DeleteAll();
}
if(showInfo)
{
GUILayout.Label("输入的姓名为:
"+PlayerPrefs.GetString("username","姓名默认值"));
GUILayout.Label("输入的密码为:
"+PlayerPrefs.GetString("passwd","密码默认值"));
GUILayout.Label("输入的年龄为:
"+PlayerPrefs.GetInt("userage",0).ToString());
GUILayout.Label("输入的身高为:
"+PlayerPrefs.GetFloat("userheight",0.0f).ToString());
}
}
}
2.编写代码实现自定义文件的存储和读取。
usingUnityEngine;
usingSystem.Collections;
usingSystem.IO;
publicclassfile:
MonoBehaviour{
//stringTestInfo="hello!
";
//Usethisforinitialization
voidStart(){
CreateFile(Application.dataPath,"nnfile","TestInfo");
}
//Updateiscalledonceperframe
voidUpdate(){
}
voidCreateFile(stringpath,stringname,stringInfo){
StreamWritersw;
FileInfot=newFileInfo(path+"//"+name);
if(!
t.Exists){
sw=t.CreateText();
}
else{
sw=t.AppendText();
}
sw.WriteLine(Info);
sw.Close();
sw.Dispose();
}
}
usingUnityEngine;
usingSystem.Collections;
usingSystem.Collections.Generic;
usingSystem.IO;
usingSystem;
publicclassfile1:
MonoBehaviour{
//Usethisforinitialization
voidStart(){
ArrayListinfo=LoadFile(Application.dataPath,"nnfile");
foreach(stringstrininfo){
Debug.Log(str);
}
}
//Updateiscalledonceperframe
voidUpdate(){
}
ArrayListLoadFile(stringpath,stringname){
StreamReaderstr=null;
try{
str=File.OpenText(path+"//"+name);
}catch(Exceptione){
returnnull;
}
stringline;
ArrayListarr=newArrayList();
while((line=str.ReadLine())!
=null){
arr.Add(line);
}
str.Close();
str.Dispose();
returnarr;
}
}
3.编写代码实现鼠标拖动模型。
效果:
鼠标拖着物体向右走,可以看到物体移动:
源代码:
usingUnityEngine;
usingSystem.Collections;
publicclassmoxingyidong:
MonoBehaviour{
voidOnMouseDrag()
{
Debug.Log("鼠标拖动模型区域时");
transform.position+=Vector3.right*Time.deltaTime*Input.GetAxis("MouseX");
transform.position+=Vector3.right*Time.deltaTime*Input.GetAxis("MouseY");
}
//Usethisforinitialization
voidStart(){
}
//Updateiscalledonceperframe
voidUpdate(){
}
}
实验7游戏多媒体
三、实验内容及步骤
1.编写代码实现音频的播放、暂停、停止,和音量等控制方法。
usingUnityEngine;
usingSystem.Collections;
publicclassyinpin:
MonoBehaviour{
publicAudioSourcemusic;
publicfloatmusicVolume;
//Usethisforinitialization
voidStart(){
musicVolume=0.5F;
}
voidOnGUI()
{
if(GUI.Button(newRect(10,10,100,50),"播放音乐"))
{
if(!
music.isPlaying)
{
music.Play();
}
}
if(GUI.Button(newRect(10,60,100,50),"暂停音乐"))
{
if(music.isPlaying)
{
music.Stop();
}
}
}
//Updateiscalledonceperframe
voidUpdate(){
}
}
2.编写代码实现视频的播放、暂停、停止等控制方法。
源代码:
usingUnityEngine;
usingSystem.Collections;
publicclassNewBehaviourScript:
MonoBehaviour{
//电影纹理
publicMovieTexturemovTexture;
//Usethisforinitialization
voidStart(){
renderer.material.mainTexture=movTexture;
movTexture.loop=true;
}
//Updateiscalledonceperframe
voidUpdate(){
}
voidOnGUI(){
if(GUILayout.Button("播放/继续")){
if(!
movTexture.isPlaying){
movTexture.Play();
}
}
if(GUILayout.Button("暂停播放")){
movTexture.Pause();
}
if(GUILayout.Button("停止播放")){
movTexture.Stop();
}
}
}