2014-07-17 2 views
0

나는 화합에 익숙하지 않고 터치 이벤트가 발생한 후 다른 장면에서 액세스하기 위해 전역 변수에 스프라이트를 저장하려고합니다. 이와 관련하여 어떤 아이디어라도 감사 할 것입니다.2D 게임에서 터치 이벤트 후 C# 스크립트를 사용하여 스프라이트를 전역 변수에 저장하는 방법은 무엇입니까?

+0

* 정적 * 키워드 – LearnCocos2D

+0

내 질문에 대한 질문 이었어 그래서 다른 도구를 제안하지 않습니다. – khan

+0

정적 필드를 참조하고 있습니다 : http://msdn.microsoft.com/en-us/library/98f28cdx.aspx – LearnCocos2D

답변

0

이 문제를 해결하기위한 접근 방식을 제안하고자합니다. 다음과 같이

는 스프라이트 매니저 클래스 "MySpriteManager을"정의 :

using UnityEngine; 
using System.Collections; 
using System.Collections.Generic; 

public class MySpriteManager { 
    private static Dictionary<string, Sprite> spriteMap = new Dictionary<string, Sprite>(); 

    public static void AddSprite(string key, Sprite value) { 
     spriteMap.add(key, value); 
    } 

    public static Sprite GetSprite(string key) { 
     return spriteMap[key]; 
    } 
} 

향후 사용을 위해 스프라이트의 인스턴스를 저장할 때마다

MySpriteManager.AddSprite("my_sprite_key", my_sprite_instance); 

이전에 저장 한 스프라이트의 인스턴스를 검색하려면,

Sprite savedSprite = MySpriteManager.GetSprite("my_sprite_key"); 

아이디어가 충분히 명확하게 표시되기를 바랍니다.

+0

일부 사람이 AppController에서 모든 정적 변수를 유지하고 Physics2d.OvelapPoint (ontouch) 함수를 사용하여 값을 저장 한 다음이 값을 사용하여 다른 스크립트를 통해 액세스 할 수 있습니다. 이게 좋은 접근인가요? 아니면 그렇게 말한 건가요? – khan

+0

당신의 아이디어에 대해서도 감사드립니다. – khan

+0

죄송합니다. 귀하의 알고리즘을 이해하지 못합니다. 스프라이트 인스턴스에 액세스하는 것과 관련하여 물리 함수를 사용하는 방법은 무엇입니까? –

관련 문제