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();
}
}
此行为类绑定到了一个图形界面按钮上.通过点击此按钮来达到控制书内的方法来实现上一页与下一页的翻译动作.
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();
}
}
此行为类绑定到了一个图形界面按钮上.通过点击此按钮来达到控制书内的方法来实现上一页与下一页的翻译动作.
相关文章推荐
- 通过Mechanize模拟自然的浏览器行为来完成与网页之间的交互.
- Android和Unity3D之间的数据交互
- 将Unity3D项目导出到Android工程中二次开发并实现之间的数据交互
- unity与Android之间的简单交互
- JavaScript事件流 HTML和CSS代码支持页面的外观,JavaScript代码支持页面的行为,而JavaScript与HTML之间的交互是通过事件实现的。事件,是文档或者浏览器窗口中发生
- SpringBoot 集成 rabbitmq 简单实现通过队列进行,订单系统与库存系统,物流系统之间的信息交互
- 简单理解javascript中的原型对象,实现对之间共享属性和行为
- Unity3D 与 objective-c 之间数据交互。iOS SDK接口封装Unity3D接口 .-- 转载
- C# 创建、部署和调用WebService的简单示例 webservice 可以用于分布式应用程序之间的交互,和不同程序之间的交互。 概念性的东西就不说太多,下面开始创建一个简单的webservi
- Unity3D 嵌入iOS原生代码,并实现unity iOS之间的交互
- RING0 与 RING3之间的简单交互
- Unity3d 前端与后端之间的数据交互
- Unity3D 与 objective-c 之间数据交互。iOS SDK接口封装Unity3D接口
- unity与iOS之间的简单交互
- 安卓手机和.NET之间的简单交互
- Android笔记--简单的Fragment和Activity的之间的数据交互(传值)
- android中fragment简单使用以及fragment之间数据交互
- Unity3DAI行为------避开障碍物简单实现
- unity3d和php后台简单交互
- Android客户端和php+mysql+apache搭建的服务器之间的简单交互