5

मैंने cocos2d 2.0 में एक प्रोजेक्ट बनाया है और स्टोरीबोर्ड का उपयोग करके एक मुख्य मेनू शामिल करना चाहता हूं।स्टोरीबोर्ड को कोकोस 2 डी 2.0 प्रोजेक्ट में कैसे शामिल किया जाए?

मैंने tinytimgames.com पर जेरोद पुट्टनाम के ट्यूटोरियल की कोशिश की है (मैं लिंक प्रदान नहीं कर सकता क्योंकि नए उपयोगकर्ताओं को प्रति पोस्ट केवल 2 लिंक की अनुमति है, लेकिन यदि आप "cocos2d storyboard" google पर पहला लिंक है तो लेकिन यह मेरे लिए सही नहीं रहा। मैंने इसका पालन किया (मुझे लगता है)। मैंने अपना cocos2d प्रोजेक्ट खोला और फ़ाइलों को अपने जिथब, CCViewController.m और .h से आयात किया और फिर एक नई स्टोरीबोर्ड फ़ाइल बनाई और ट्यूटोरियल का पालन किया। हालांकि जब मैंने इसे चलाया, तो यह सिर्फ मेरे कोकोस 2 डी गेम पर शुरू हुआ, न कि नए मेनू पर मैंने अभी बनाया है।

मैं भी इस ट्यूटोरियल की कोशिश की: http://zackworkshopios.blogspot.com/2012/06/cocos2d-with-storyboard-example.html लेकिन एक बार फिर यह मेरे लिए काम नहीं किया मेरे पास नहीं है के रूप में (या पता नहीं है जहां खोजने के लिए/प्राप्त) libcocos2d.a और libCocosDenshion.a फ़ाइलें।

यह एक और ट्यूटोरियल मैं fidgetware से करने की कोशिश की है: http://fidgetware.com/Tutorials/page15/page15.html मैं इस ट्यूटोरियल किया था, लेकिन मेरी परियोजना एक फ़ाइल RootViewController बुलाया नहीं है (मीटर या ज) तो मुझे यकीन है कि जहां कोड है कि माना जाता है डाल करने के लिए नहीं था उन फाइलों में जाओ।

रे वेंडरलिच का ट्यूटोरियल भी है लेकिन वह स्टोरीबोर्ड का उपयोग नहीं करता है।

यदि कोई मुझे समाधान दे सकता है कि इनमें से कोई भी मेरे लिए क्यों काम नहीं कर रहा है या मुझे मेरे cocos2d 2.0 प्रोजेक्ट में स्टोरीबोर्ड को शामिल करने के तरीके के बारे में विस्तृत कदम उठाएगा, तो मैं इसकी सराहना करता हूं। मेरे पास एक और सवाल है कि क्या मुझे कोकोस 2 डी 2.0 प्रोजेक्ट से शुरू करना चाहिए और स्टोरीबोर्ड को शामिल करना चाहिए या क्या मुझे सिंगल-व्यू एप्लिकेशन प्रोजेक्ट (या एक अलग?) से शुरू करना चाहिए और मेरे कोकोस 2 डी 2.0 भाग को शामिल करना चाहिए। अग्रिम में धन्यवाद!

उत्तर

8

ठीक है, मैं अंततः जेरोद पुट्टनाम से बहुत मदद के साथ इसे समझने में कामयाब रहा, इसलिए जेरोद धन्यवाद! सबसे पहले अपने ट्यूटोरियल यहाँ पर जाएँ:

http://www.tinytimgames.com/2012/02/07/cocos2d-and-storyboards/

और डाउनलोड और GitHub लिंक से फ़ाइलें आयात। फिर CCViewController का उप-वर्ग बनाएं और इसे cocos2dViewController कहते हैं। cocos2dViewController.h में कॉपी और पेस्ट करें:

#import "CCViewController.h" 

@interface cocos2dViewController : CCViewController 

@end 

और cocos2dViewController में।मीटर कॉपी और पेस्ट (पटनम ट्यूटोरियल से)

#import "GamePlay.h" 
#import "cocos2dViewController.h" 

@interface cocos2dViewController() 

@end 

@implementation cocos2dViewController 

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) { 
     // Custom initialization 
    } 
    return self; 
} 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    CCDirector *director = [CCDirector sharedDirector]; 

    if([director isViewLoaded] == NO) 
    { 
     // Create the OpenGL view that Cocos2D will render to. 
     CCGLView *glView = [CCGLView viewWithFrame:[[[UIApplication sharedApplication] keyWindow] bounds] 
             pixelFormat:kEAGLColorFormatRGB565 
             depthFormat:0 
           preserveBackbuffer:NO 
             sharegroup:nil 
            multiSampling:NO 
            numberOfSamples:0]; 

     // Assign the view to the director. 
     director.view = glView; 

     // Initialize other director settings. 
     [director setAnimationInterval:1.0f/60.0f]; 
     [director enableRetinaDisplay:YES]; 
    } 

    // Set the view controller as the director's delegate, so we can respond to certain events. 
    director.delegate = self; 

    // Add the director as a child view controller of this view controller. 
    [self addChildViewController:director]; 

    // Add the director's OpenGL view as a subview so we can see it. 
    [self.view addSubview:director.view]; 
    [self.view sendSubviewToBack:director.view]; 

    // Finish up our view controller containment responsibilities. 
    [director didMoveToParentViewController:self]; 

    // Run whatever scene we'd like to run here. 
    if(director.runningScene) 
     [director replaceScene:[GamePlay scene]]; 
    else 
     [director pushScene:[GamePlay scene]]; 
} 

- (void)viewDidUnload 
{ 
    [super viewDidUnload]; 
    // Release any retained subviews of the main view. 
} 

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    return (interfaceOrientation == UIInterfaceOrientationPortrait); 
} 

@end 

आपको लगता है कि मैं GamePlay.h आयातित पर ध्यान देंगे, कि क्योंकि GamePlay.m जहां मैं अपने खेल के लिए सभी सामग्री है है। तो अपने गेम के लिए हेडर फ़ाइल आयात करें। इसके अलावा, आप है कि मैं फोन

if(director.runningScene) 
    [director replaceScene:[GamePlay scene]]; 
else 
    [director pushScene:[GamePlay scene]]; 

दृश्य अपने खेल में शामिल है जो के नाम के साथ "गेमप्ले" को बदलने के लिए सुनिश्चित करें कि देखेंगे। एक बार जब आप ऐसा करते हैं, अपने AppDelegate.m के पास जाकर इस के साथ अपने

application didFinishLaunchingWithOptions 

समारोह की जगह:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    return YES; 
} 

आप बहुत करीब हैं! अब आपकी स्टोरीबोर्ड फ़ाइल के लिए दिए गए लिंक में Putnam के ट्यूटोरियल का पालन करें। जहां वह कहता है "और अपनी कक्षा को उस व्यक्ति को असाइन करें जिसे हमने अभी बनाया है", इसे cocos2dViewController को असाइन करें। और बस! प्रोजेक्ट चलाएं और यदि आपके पास कोई प्रश्न पूछने में संकोच न करें तो इसे काम करना चाहिए।

3

आप मुझसे प्यार करने जा रहे हैं।

इस ट्यूटोरियल http://www.tinytimgames.com/2012/02/07/cocos2d-and-storyboards/

तो आप अपने मुख्य कहानी बोर्ड यहाँ

चाल से एक के लिए आवेदन पत्र अपने iOS में अपने मुख्य स्टोरीबोर्ड लक्षित करने के लिए है सेट होगा आपके द्वारा बनाए गए अंडर "परियोजना का नाम"/ग्रीष्मकालिन का पालन करें/आईफोन/आईपॉड तैनाती की जानकारी। अपने आदमी कहानी वहाँ बोर्ड

चयन तो अपने AppDelegate.m में कोड को दूर इतना है कि यह इस तरह दिखता है:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 


return YES; 
} 

अगर आप न सही मैं तुम्हें मेरे कार्य स्रोत कोड दे देंगे आते हैं, बस मुझे जाने

+0

इस्तेमाल किया आप एक काम परियोजना डाउनलोड लिंक पोस्ट कर सकते हैं, कृपया? –

+0

@ ऑस्करएपलैंड मुझे बहुत खेद है, मैं कभी तुम्हारे पास वापस नहीं आया। दुर्भाग्यवश मेरे पास अब उस प्रोजेक्ट नहीं है और मैं कुछ भी याद कर सकता हूं जो मैंने वापस किया था (अब एकता में काम कर रहा है)। कृपया मेरी क्षमा स्वीकार करें। –

0

bagelboy के लिए धन्यवाद, मैं केवल एक अद्यतन है:

// Create the OpenGL view that Cocos2D will render to. 
    CCGLView *glView = [CCGLView viewWithFrame:self.view.frame 
            pixelFormat:kEAGLColorFormatRGB565 
            depthFormat:0 
          preserveBackbuffer:NO 
            sharegroup:nil 
           multiSampling:NO 
           numberOfSamples:0]; 

मेरी उदाहरण के लिए, [[[UIApplication sharedApplication] keyWindow] bounds] काम नहीं किया है, और मैं self.view.frame

संबंधित मुद्दे