菜鸟教程小白 发表于 2022-12-12 22:13:08

ios - Cocos2d v2.0 - 设置场景、图层、 Sprite 等


                                            <p><p>在 Cocos2d v2.0.0 中,进行了很多更改,很多人遇到了一些缩放问题和其他冲突......</p>

<p>如果他们阅读并测试了 Ray Wenderlich 的好书,那就更是如此:学习 Cocos2d:维京人太大,背景不居中,图像后缀系统不起作用,...</p >

<p>那么,如何进行呢?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>基本上,在创建新的 cocos2d v2 项目时,样例项目中已经说明了一切。
但是,我们中的一些人需要指出一些事情。</p>

<ul>
<li><h2>适用于 iPhone(非视网膜和视网膜)和 iPad(非视网膜和视网膜)的图像后缀系统</h2></li>
</ul>

<p>查看 AppDelegate.m 中的第 68-71 行
以下是您需要记住的内容:</p>

<ol>
<li><p>你只需要打电话</p>

<pre><code>CCSprite *mySprite = ;
</code></pre> </li>
<li>不需要一些 if(iPad) then else if(iPhone) blabla</li>
<li>确保您将图像称为 AppDelegate.m 中的第 68-71 行(默认值:<b>mySprite.png</b> (iPhone) | <b>mySprite-hd.png</b> (iPhone视网膜) | <b>mySprite-ipad.png</b> (iPad) | <b>mySprite-ipadhd.png</b> (iPad 视网膜)</li>
</ol>

<p><br/></p>

<ul><li><h2>调用场景</h2></li></ul>

<p>从 AppDelegate.m 中查看第 76 行</p>

<ol>
<li><p>只需从你的类中调用场景函数(使用 pushScene)</p>

<pre><code>];
</code></pre> </li>
</ol>

<p><br/></p>

<ul><li><h2>向场景类添加图层</h2></li></ul>

<ol>
<li>假设您的场景类是使用 +(CCSene*)scene 函数调用的(这对于 cocos2d v2 来说是一个很好的做法)</li>
<li> <pre><code>+(CCScene *) scene
{
    // &#39;scene&#39; is an autorelease object.
    CCScene *scene = ;

    BackgroundLayer *backgroundLayer = ;
    ;

    GameplayLayer *gameplayLayer = ;
    ;

    return scene;
}
</code></pre> </li>
</ol>

<p><br/></p>

<ul><li><h2>从您的类(CCScene、CCLayer、...)中替换 init 函数</h2></li></ul>

<p>这就是来自 cocos2d v2 的缩放问题的来源(但我不知道为什么)。</p>

<ol>
<li><p>不是调用-(id)init,而是调用</p>

<pre><code>-(void) onEnter{ //Do some sprite displaying with ; }
</code></pre> </li>
<li><p>在显示 Sprite 之前,您仍然可以调用 -(id)init 函数来处理需要加载的其他内容。</p></li>
</ol>

<p><br/></p>

<ul><li><h2>使用 SneakyInput(Joystick 开源库)</h2></li></ul>

<p>你可以在这里找到如何在 cocos2d v2 中使用偷偷摸摸的输入:<a href="http://cl.ly/1J2D2z0f3o0r3h041o3o" rel="noreferrer noopener nofollow">http://cl.ly/1J2D2z0f3o0r3h041o3o</a> </p>

<p><br/></p>

<ul><li><h2>多点触控启用</h2></li></ul>

<ol>
<li><p>将此行添加到您的图层(在 +(CCScene*) 场景函数中或其他位置)</p>

<pre><code>layer.isTouchEnabled = YES;
</code></pre> </li>
<li><p>然后将这个添加到同一个.m</p>

<pre><code>- (void)ccTouchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
    NSArray *touchArray=;

    if ( == 2)
    {
      NSLog(@&#34;2&#34;);
    }
    else if(==1)
    {
      NSLog(@&#34;1&#34;);
    }
}
</code></pre> </li>
<li><p>最后,进入 AppDelegate.m 并添加:</p>

<pre><code>[.view setMultipleTouchEnabled:YES];
</code></pre> </li>
</ol>

<p><br/></p>

<p><em>如果 cocos2d v2 开发人员可以提供帮助并发布有关如何使用 cocos2d v2 与 v1 相比的内容,我将不胜感激。</em></p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - Cocos2d v2.0 - 设置场景、图层、 Sprite 等,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/11574004/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/11574004/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - Cocos2d v2.0 - 设置场景、图层、 Sprite 等