2011-03-15 8 views
0

私はXMLで遊んでいますが、いくつかのチュートリアルを行っていますが、私の必要性は具体的です。あなたがCCLabelを持っていて、XMLファイルからその中にデータをロードしたいとします。シーンxでは、XMLの関連部分からデータをロードします。たとえば、シーンに基づいてページ番号を入力するとします。Cocos2D MacのテキストフィールドにXMLデータを読み込み

誰にも例がありますか?

よろしくお願いいたします。

答えて

0

XMLを読むには、NSXMLParserガイドをご覧ください。 XMLの構造を管理するのはあなた次第ですが、本質的に、パーサーからの読み取りイベントを受け取るときには、読み込んだテキストを使用するのは簡単なことです。あなたのXMLファイルを想定し

何かのようになります。

<scene id=1> 
    <label id=1 text="Label Text" /> 
</scene> 
<scene id=2> 
    <label id=2 text="Scene 2 Text" /> 
</scene> 

あなたは選択肢のカップルを持っている - あなたは、ファイルたびシーンの負荷を解析することができますいずれか、IDの内部以外のすべてを無視= X(ここで、 xはidに関するシーン参照のようなものです)、またはアプリケーションの開始時にxml全体をロードして、何らかの構造体を格納することができます。私は最初のオプションを好むだろう。 (私がリンクマニュアルに記載されているまだ良いです)基本的な例として

、機能を読んで、あなたの要素は、この行う可能性があります:

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict { 

    if ([elementName isEqualToString:@"label"]) { 
    //attributeDict contains the attributes of the element, 
    //in your case, "text" is one of the keys, and "Label Text" would be the value 
    //this would pass the specific label text from the xml file to a function in your scene 
    [scene someFunctionForPopulatingLabel:[attributeDict objectForKey:@"text"]]; 
    } 

} 
関連する問題