您的位置:首页 > 移动开发 > Unity3D

Unity3d 中行为类之间的简单交互

2013-02-21 15:27 393 查看
下面我们来建立一个书的行为类文件
using UnityEngine;
using System.Collections;
using System.IO;
using System.Xml;
public class Book : MonoBehaviour {
// Use this for initialization
string _FileLocation;
string _FileName = “MConfig.xml”;
string _xmlData;
XmlDocument configData;
private ArrayList pages;
public GameObject page;
private int index = 0;
private int pageLen = 0;
void Start () {
_FileLocation = Application.dataPath;
pages = new ArrayList();
LoadXML();
initBook();
}
// Update is called once per frame
void Update () {
}
void LoadXML() {
StreamReader r = File.OpenText(_FileLocation + “\\” + _FileName);
string info = r.ReadToEnd();
r.Close();
_xmlData = info;
configData = new XmlDocument();
configData.LoadXml(_xmlData);
}
void initBook() {
foreach (XmlNode item in configData.SelectNodes(“/mConfig/page”))
{
//print(item.Attributes["murl"].Value);材质路径
GameObject obj = (GameObject)Instantiate(page);
obj.renderer.material.mainTexture = (Texture)Resources.Load(item.Attributes["murl"].Value);
pages.Add(obj);
pageLen++;
}
}
public void PageUp(){
print(“page Up”);
}
public void PageDown() {
print(“page Down”);
}
}
这里我们用了加载XML的方式来生成指定的书的页
那么我们如何才能控制PageUp()以及PageDown()方法呢?
具体的方式是通过如下代码
using UnityEngine;
using System.Collections;
public class NButton : MonoBehaviour {
// Use this for initialization
private Book book;
void Start () {
}
// Update is called once per frame
void Update () {
}
void OnMouseDown() {
book = (Book)GameObject.Find(“Book”).GetComponent(typeof(Book));
book.PageDown();
}
}
此行为类绑定到了一个图形界面按钮上.通过点击此按钮来达到控制书内的方法来实现上一页与下一页的翻译动作.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐