'Unity'에 해당되는 글 40건

  1. 2015/01/12 유니티에서 이미지 파일 업로드 또는 다운로드 관련 예제입니다.
  2. 2014/12/29 유니티에서 3D 모델을 2D 스프라이트 애니메이션으로 변환하는 도구 #2
  3. 2014/11/13 지인을 통해 게임 개발 의뢰가 있어서 미팅을 해보니 지스타에 ...
  4. 2014/07/28 유니티 입문자들의 게임 개발을 돕는 예제 프로젝트들
  5. 2014/06/28 에셋스토어 게임 소스 튜토리얼 제작 공모전 / 상품 LG지패드,아이패드
  6. 2014/06/07 유니티 에셋 스토어에 그래픽이나 스크립트 소스를 등록해보세요.
  7. 2014/04/03 혼자서 유니티 RPG 게임 만들기 프로젝트를 추진해봅니다. (3)
  8. 2014/03/08 3D 게임 프로토타입을 빠르게 제작해야 하는 경우에 활용해보는 팁
  9. 2014/03/02 유료 판매하던 유니티 패키지를 무료로 전환하려고 해요. (1)
  10. 2014/02/20 유니티로 재미 삼아 만든 게임 하드 좀비 디펜스, 하드 윙
  11. 2014/01/16 윈도우즈 환경에서 나만의 유니티 3D 게임 개발 환경 만들기
  12. 2013/10/27 유니티에서 비교적 간단하게 변신하는 3D 캐릭터 만들기
  13. 2013/10/03 유니티 4.3 베타를 활용해서 턴방식 3D 액션 게임 실험중 (2)
  14. 2013/07/21 유니티에서 3D 모델을 2D 스프라이트 애니메이션으로 변환하는 도구 (1)
  15. 2013/07/08 유니티로 3D 막대 그래프 차트를 간단하게 만들어봅니다.
  16. 2013/04/27 타일 기반으로 슈팅 게임을 만들면 어떨까 고민을 하다가 만든 ...
  17. 2013/03/05 유니티 4 Mecanim과 PathFinder 를 활용해서 NPC 인공지능 만들기
  18. 2013/02/12 유니티에서 비트맵 폰트 활용법, BMFont 와 NGUI 그리고 한글
  19. 2013/02/08 애니메이션 클립 상점을 이용해서 내 캐릭터에 동작 추가하기
  20. 2013/02/07 유니티 애니메이션 시스템을 효과적으로 적용해보려고 연구중.
  21. 2013/01/27 플래시 영상 리소스를 유니티 또는 HTML5 게임 개발에 활용하기
  22. 2013/01/22 스토어에 쓸만한 캐릭터가 보여 연습삼아 만든 액션 게임 데모
  23. 2013/01/21 이런 저런 실험을 하기 위해 만들어 본 비행 슈팅 게임 프로토타입
  24. 2013/01/20 유니티에서 NGUI 플러그인으로 커버플로우 UI 만들기. (2)
  25. 2012/09/18 제가 좋아하는 게임 장르인 타워 디펜스 게임을 주제로 만들어봐요. (1)
  26. 2012/06/30 게임의 모양세를 갖춰나가고 있는 유니티 슈팅 게임 프로토타입
  27. 2012/06/12 볼품없지만 의미있는 실시간 멀티유저 슈팅 게임 프로토타입 (1)
  28. 2012/06/09 양 진영으로 나눠 NPC 끼리 싸우기도 하는 슈팅 게임으로 버전업
  29. 2012/06/08 유니티 게임엔진으로 만들어본 PvE 슈팅 게임 프로토타입. (3)
  30. 2012/06/02 유니티 게임 개발을 위한 NPC 인공지능 프로토타입 개발 테스트
유니티에서 이미지 파일 업로드 또는 다운로드 관련 예제입니다. 참고로 이대로 실행하면 아무런 동작을 하지 않으므로 자신의 필요에 맞게 수정해서 사용해야 합니다.



using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using MiniJSON;
using System.Xml;
using System.RegularExpressions;

public class WebSample : MonoBehaviour {
    public Transform grid;
    public GameObject itemPrefab;
    public string defaultURL = "http://yourdomain.com";

    void FileUpload(string path, string fname, int width, int height)
    {
        if (!File.Exists(path)) return;
        byte[] bytes = File.ReadAllBytes(path);
        WWWForm form = new WWWForm();
        form.AddField("file", fname);
        form.AddField("width", width.ToString());
        form.AddField("height", height.ToString());
        form.AddBinaryData("myfile", bytes, fname, "image/png");
        WWW web = new WWW(defaultURL + "/upload", form);
        StartCoroutine(WebAction(web, () =>
        {
            // Upload Ok!
        }));
    }

    void FileUpload(Texture2D texture, string fname)
    {
        byte[] bytes = texture.EncodeToPNG();
        WWWForm form = new WWWForm();
        form.AddField("file", fname);
        form.AddField("width", texture.width.ToString());
        form.AddField("height", texture.height.ToString());
        form.AddBinaryData("myfile", bytes, fname, "image/png");
        WWW web = new WWW(defaultURL + "/upload", form);
        StartCoroutine(WebAction(web, () =>
        {
            // Upload Ok!
        }));
    }

    void FileDownload()
    {
        WWWForm form = new WWWForm();
        form.AddField("page", 1);
        WWW web = new WWW(defaultURL + "/download", form);
        StartCoroutine(WebAction(web, () =>
        {
            List<object> jsonData = (List<object>)Json.Deserialize(web.text);
            int total = jsonData.Count;
            foreach (Dictionary<string, object> row in jsonData)
            {
                string url = defaultURL + row["url"].ToString();
                string file = row["file"].ToString();
                int width = int.Parse(row["width"].ToString());
                int height = int.Parse(row["height"].ToString());
                GameObject go = Instantiate(itemPrefab) as GameObject;
                Transform tf = go.transform;
                Text titleText = go.GetComponentInChildren<Text>();
                tf.SetParent(grid);
                tf.localScale = Vector3.one;
                titleText.text = file;
                ShowSprite(url, go);
            }
        }));
    }

    void ShowSprite(string url, GameObject go)
    {
        WWW web = new WWW(url);
        StartCoroutine(WebAction(web, () =>
        {
            Texture2D tex = web.texture;
            Image img = go.GetComponentInChildren<Image>();
            SpriteRenderer sr = go.GetComponentInChildren<SpriteRenderer>();
            Sprite s = Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), new Vector2(0.5f, 0.5f), 100f);
            if (img != null) img.sprite = s;
            if (sr != null) sr.sprite = s;
        }));
    }

    IEnumerator WebAction(WWW web, System.Action callback)
    {
        yield return web;
        if (web.error != null)
        {
            Debug.Log("WebAction Error : " + web.error);
        }
        else
        {
            Debug.Log("WebAction Ok!");
            callback();
        }
    }
}

<?php

$uploads_dir = '/uploads';

if (isset($_FILE["myFile"])) {
    $tmp_name = $_FILES['myFile']['tmp_name'];
    $file_name = $_FILES['myFile']['name'];
    $file_path = $uploads_dir . "/" . $file_name;
    move_uploaded_file($tmp_name, $file_path);

    $conn = mysql_connect("HOST", "USER", "PASSWORD");
    mysql_select_db("DATABASE", $conn);
    $sql = "INSERT INTO filetable (name, width, height) VALUES ('$file_name', '$width', '$height')";
    $q = mysql_query($query);
    mysql_close($conn);
}

<?php

$conn = mysql_connect("HOST", "USER", "PASSWORD");
mysql_select_db("DATABASE", $conn);
$sql = "SELECT * FROM filetable LIMIT 10";
$q = mysql_query($sql);
$result = array();
while ($row = mysql_fetch_array($q, MYSQL_ASSOC))
    $result[] = $row;
echo json_encode($result);
mysql_close($conn);

    void GetTopFreeApps()
    {
        WWW web = new WWW("https://itunes.apple.com/us/rss/topfreeapplications/limit=100/genre=6014/json");
        StartCoroutine(WWWActoin(web, () =>
        {
            Dictionary<string, object> jsonData = (Dictionary<string, object>)Json.Deserialize(web.text);
            Dictionary<string, object> feed = (Dictionary<string, object>)jsonData["feed"];
            List<object> entryList = (List<object>)feed["entry"];
            foreach (Dictionary<string, object> row in entryList)
            {
                string img = ((Dictionary<string, object>)((List<object>)row["im:image"])[2])["label"].ToString();
                string title = ((Dictionary<string, object>)row["title"])["label"].ToString();
                string url = ((Dictionary<string, object>)((Dictionary<string, object>)row["link"])["attributes"])["href"].ToString();
                string id = ((Dictionary<string, object>)((Dictionary<string, object>)row["id"])["attributes"])["im:bundleId"].ToString();
                string ctype = ((Dictionary<string, object>)((Dictionary<string, object>)row["im:contentType"])["attributes"])["label"].ToString();
                string category = ((Dictionary<string, object>)((Dictionary<string, object>)row["category"])["attributes"])["label"].ToString();
                string release = ((Dictionary<string, object>)((Dictionary<string, object>)row["im:releaseDate"])["attributes"])["label"].ToString();
                GameObject go = Instantiate(itemPrefab) as GameObject;
                Transform tf = go.transform;
                Text titleText = go.GetComponentInChildren<Text>();
                tf.SetParent(grid);
                tf.localScale = Vector3.one;
                titleText.text = title;
                ShowSprite(url, go);
            }
        }));
    }

    void GetTopFreeAppsXML()
    {
        string xml_url = "https://itunes.apple.com/us/rss/topfreeapplications/limit=100/genre=6014/xml";
        WWW web = new WWW(xml_url);
        StartCoroutine(WWWActoin(web, () =>
        {
            XmlDocument doc = new XmlDocument();
            string str = web.text.Trim().Replace("xmlns=\"", "xmlns2=\"");
            str = Regex.Replace(str, @"<(/?)im:", "<$1im_");
            doc.LoadXml(str);
            XmlNodeList entryList = doc.SelectNodes("feed/entry");
            foreach (XmlNode node in entryList)
            {
                string img = node.SelectNodes("im_image")[2].InnerText;
                string title = node.SelectSingleNode("title").InnerText;
                string url = node.SelectSingleNode("link").Attributes["href"].Value.ToString();
                string id = node.SelectSingleNode("id").Attributes["im:bundleId"].Value.ToString();
                string ctype = node.SelectSingleNode("im_contentType").Attributes["label"].Value.ToString();
                string category = node.SelectSingleNode("category").Attributes["term"].Value.ToString();
                string release = node.SelectSingleNode("im_releaseDate").Attributes["label"].Value.ToString();
                GameObject go = Instantiate(itemPrefab) as GameObject;
                Transform tf = go.transform;
                Text titleText = go.GetComponentInChildren<Text>();
                tf.SetParent(grid);
                tf.localScale = Vector3.one;
                titleText.text = title;
                ShowSprite(url, go);
            }
        }));
    }

2015/01/12 18:14 2015/01/12 18:14

댓글을 달아 주세요