聚合数据(菜谱大全)
来源:互联网 发布:飞车原装雷诺数据 编辑:程序博客网 时间:2024/06/11 05:49
using UnityEngine;using System.Collections;using UnityEngine.UI;public class Dish : MonoBehaviour {//解析菜品图片事件public ParseImgEventHandle parseImgEvent;//当前菜品信息对象public MenuData currentDishData;/// <summary>/// 将图片显示到Dish中的DishImg/// </summary>/// <returns>The dish image.</returns>/// <param name="img">Image.</param>public void ShowDishImg(Texture img){transform.GetChild (0).GetComponent<RawImage> ().texture = img;}}using UnityEngine;using System.Collections;using LitJson;public delegate void ParseDataEventHandle(MenuData[] menuData);public delegate void ParseImgEventHandle(Texture img);public class GameManager : MonoBehaviour { public static GameManager instance; void Awake() { instance = this; } public string appID;//API用户序列号 public string apiUrL = "http://apis.juhe.cn/cook/query";//API地址 public MenuData[] menuData;//菜谱数据 public event ParseDataEventHandle TransforDataEvent;//传输数据事件//当前选中的菜品public MenuData currentClickDish; /// <summary> /// 根据菜名返回查询内容的地址URL /// </summary> /// <returns></returns> public string AssemblyRequestURL(string menuName) { string resultRUL = apiUrL;//添加API地址 resultRUL += "?key=";//添加Key标识符 resultRUL += appID;//添加Key resultRUL += "&menu=";//添加Menu标识符 resultRUL += menuName+"&pn=1";//添加菜名Debug.Log(resultRUL); return resultRUL;//返回 } /// <summary> /// 获取当前菜品的所有数据 /// </summary> /// <param name="requestRUL"></param> /// <returns></returns> public IEnumerator GetMenuData(string requestURL) { WWW www = new WWW(requestURL);//请求数据 yield return www;//等待下载 string json = www.text;//获取文本Debug.Log(json);if (json.Contains("Success")) {MenuFramework menu =JsonMapper.ToObject<MenuFramework>(json);//获取数据menuData = menu.result.data;//获取到所有菜名数组TransforDataEvent(menuData);//将菜品数组传输到外界}else {Debug.Log ("输入错误,请重新输入");} }}using UnityEngine;using System.Collections;public class MenuFramework : MonoBehaviour {public string resultcode; public string reason; public MenuResult result;public int error_code; }public class MenuResult{ public MenuData[] data;public string totalNum;public string pn;public int rn;}public class MenuData {public string id; public string title;//菜名标题 public string tags;//菜名标签 public string imtro;//菜名介绍 public string ingredients;//菜名主材料 public string burden;//菜名配料 public string[] albums;//菜品图片 public MenuStep[] steps;//菜品制作步骤}public class MenuStep{ public string img;//当前步骤图片public string step;//当前步骤描述}using UnityEngine;using System.Collections;using UnityEngine.UI;public class SearchDish : MonoBehaviour { public GameObject dishPrefab; /// <summary> /// 在搜索输入框输入完毕 /// </summary>public void OnSearchInputEditEnd(string menuStr) {//清空子对象for (int i = 0; i < transform.childCount; i++) {Destroy (transform.GetChild (i).gameObject);} //拼凑请求地址 string url=GameManager.instance.AssemblyRequestURL(menuStr); //绑定数据获取到之后的事件 GameManager.instance.TransforDataEvent += InitDish; //启动请求数据协程 StartCoroutine(GameManager.instance.GetMenuData(url)); } /// <summary> /// 生成菜品列表 /// </summary> /// <param name="data"></param> public void InitDish(MenuData[] data){ //遍历所有菜品 for (int i = 0; i <data.Length; i++) { //生成当前菜品GameObjectcurrentDish=(GameObject)Instantiate(dishPrefab,Vector3.zero,Quaternion.identity); //设置菜品名称currentDish.transform.GetChild (1).GetComponent<Text> ().text = data [i].title; //设置菜品标签currentDish.transform.GetChild(2).GetComponent<Text>().text=data[i].tags;//当前菜名脚本Dish currentDS=currentDish.GetComponent<Dish>();//绑定显示菜品图片事件currentDS.parseImgEvent += currentDS.ShowDishImg;//开启下载协程,传参下载地址,以及委托对象StartCoroutine (DownloadDishImg (data [i].albums [0], currentDS.parseImgEvent));//设置父物体currentDish.transform.SetParent (transform);//存储每道菜的信息currentDS.currentDishData = data [i];} }IEnumerator DownloadDishImg(string imgURL,ParseImgEventHandle e){WWW www = new WWW (imgURL);//遍历图片下载yield return www;//等待下载////获取图片 (将纹理类型的图片转换成精灵图片)//Sprite currentSpr=Sprite.Create(www.texture,new Rect//(0,0,www.texture.width,www.texture.height),new Vector2 (0.5f,0.5f));Texture currentTex=www.texture;e (currentTex);//执行委托事件}}using UnityEngine;using System.Collections;using UnityEngine.UI;public class ShowDetail : MonoBehaviour {public GameObject stepPrefab;//预设体/// <summary>/// 激活时显示信息/// </summary>void OnEnable(){ShowBaseImg ();ShowStep();}public void ShowBaseImg(){transform.GetChild(0).GetChild(0).GetChild(1).GetComponent<Text>().text=GameManager.instance.currentClickDish.title;transform.GetChild(0).GetChild(0).GetChild(2).GetComponent<Text>().text=GameManager.instance.currentClickDish.tags;StartCoroutine (Show (GameManager.instance.currentClickDish.albums[0]));//开启协程}IEnumerator Show(string imgURL){WWW www = new WWW (imgURL); //传入单例中的图片链接yield return www; //等待下载transform.GetChild (0).GetChild (0).GetChild (0).GetComponent<RawImage> ().texture=www.texture; } public void ShowStep(){transform.GetChild(1).GetChild(0).GetComponent<Text>().text=GameManager.instance.currentClickDish.imtro;transform.GetChild(1).GetChild(2).GetComponent<Text>().text=GameManager.instance.currentClickDish.ingredients;transform.GetChild(1).GetChild(3).GetComponent<Text>().text=GameManager.instance.currentClickDish.burden; Transform steps = transform.Find ("DishDetail/Steps");for (int i = 0; i < steps.childCount; i++) {Destroy (steps.GetChild (i).gameObject);}for (int i = 0; i < GameManager.instance.currentClickDish.steps.Length; i++) {GameObject currentStep = Instantiate (stepPrefab,Vector3.zero,Quaternion.identity) as GameObject;currentStep.transform.SetParent (steps);currentStep.transform.GetChild (1).GetComponent<Text> ().text = GameManager.instance.currentClickDish.steps [i].step;string url = GameManager.instance.currentClickDish.steps [i].img;StartCoroutine (ShowStepImg (url, currentStep.transform.GetChild (0).GetComponent<RawImage> ()));}}IEnumerator ShowStepImg(string url,RawImage img){WWW www = new WWW (url);yield return www;img.texture= www.texture;}void Update(){if (Input.GetKeyDown(KeyCode.Escape)) {Transform background=GameObject.FindWithTag("Bg").transform;background.GetChild (1).gameObject.SetActive (true);background.GetChild (2).gameObject.SetActive (false);}}}using UnityEngine;using System.Collections;using UnityEngine.UI;public class ShowDishDetail : MonoBehaviour {public Transform background;void Start(){background = GameObject.FindWithTag ("Bg").transform;}public void OnDishButtonClick(){//将当前菜品保存到单例中GameManager.instance.currentClickDish = GetComponent<Dish> ().currentDishData; //显示详情页面background.Find ("MenuDetalContentScroll View").gameObject.SetActive (true);//隐藏当前页面background.GetChild (1).gameObject.SetActive (false);}}
0 0
- 聚合数据(菜谱大全)
- ios 聚合数据接口调用demo :菜谱大全
- 从聚合数据请求菜谱大全接口数据,解析显示到ListView
- 英文菜谱大全
- Ajax 实现菜谱(api获取数据,循环遍历)
- 菜谱数据接口使用介绍
- 菜谱
- 菜谱
- 菜谱
- 菜谱
- 菜谱
- 菜谱
- 菜谱
- 菜谱
- 菜谱
- 菜谱
- 40种滋阴补阳(男女_食补_治病_养生)药膳菜谱大全
- 聚合数据(问答机器人)
- 浏览器实现PDF预览
- spring的自动装配-autowire
- 词法分析器
- 基于webSocket的远程日志查看工具
- 通过nginx做A/B测试
- 聚合数据(菜谱大全)
- Java学习笔记-数组
- 后缀自动机 模板 【Poi2000】 公共串 bzoj 2946
- codeforces - 276D【贪心+数学】
- 17 - 04 - 16 Web安全(12)
- 负载均衡之【pound】
- Sping Data与Elasticsearch整合
- Caffe新手教程傻瓜系列(8):命令行解析
- treap模版