Impress Japan デジタルで、もっと楽しく、そして豊かに

HOME > 出版物のアフターケア > OpenGLで作るiPhone SDKゲームプログラミング
ダウンロードとアフターケア
OpenGLで作るiPhone SDKゲームプログラミング

  • ¥2,940(本体 ¥2,800+税)
  • 品種名:書籍
  • 発売日:2009/12/18発売
  • ページ数:352P
  • サイズ・判型:B5変型判
  • 著者:横江宗太(株式会社パンカク) 著
  • ISBNコード:978-4-8443-2808-7
  • 付録:

  • ダウンロードファイル
  • 1

    本書で解説しているゲームの完成版ソースコードと、それぞれのゲームで利用する画像ファイルやサウンドファイルは、下記のリンクをクリックしてダウンロードしてください。

     

    なお、ダウンロードしたファイルはzip形式で圧縮されています。展開してからご利用ください。

     

    http://www.impressjapan.jp/support/aftercare/download/2808.zip

誤記のためにご迷惑をおかけし、誠に申し訳ございません。

  • 153ページ 本文1行目
  • setViewメソッドの中身を実装します。
    この文は不要です。
  • 【 第2刷にて修正 】
  • 153ページ ES1Renderer.mmの3行目
  • ...略...
    @implementation ES1Renderer
    @synthesize
    ...略...
    }
    @end
    ...略...
    @implementation ES1Renderer
    @synthesize glView;
    ...略...
    }
    @end
  •  ソースコードの一部が誤っていました。

  • 【 第2刷にて修正 】
  • 153ページ 本文2行目
  • 最後に、EAGLViewの~setViewメソッドを呼び出し、
    最後に、EAGLViewのinitWithCoder内のES1Rendererを生成している個所でglViewに自身をセットし、
  • 【 第2刷にて修正 】
  • 164ページ 掲載コードの青字部分の4行目~6行目
  • ...略...
    bgm = [[AVAudioPlayer alloc] initWithContentsOfURL:bgmFileUrl
    error:nil];
    bgm[setNumberOfLoops:-1];
    bgm[play];
    ...略...
    ...略...
    bgmSound = [[AVAudioPlayer alloc] initWithContentsOfURL:bgmFileUrl
    error:nil];
    [bgmSound setNumberOfLoops:-1];
    [bgmSound play];
    ...略...
  •  ソースコード上の表記が一部間違っていました。

  • 【 第3刷にて修正 】
  • 186ページ フェードインの掲載コードの11行目
  • ...略...
    //フェードアウトします
    alpha = 255 - (int)round(lifePercentage * 2.0f * 255.0f);
    ...略...
    ...略...
    //フェードアウトします
    alpha = 255 - (int)round((lifePercentage - 0.5f) * 2.0f * 255.0f);
    ...略...
  •  ソースコード上の表記が一部間違っていました。

  • 【 第2刷にて修正 】
  • 188ページ 掲載コードの11行目
  • //1つのパーティクルあたり6頂点×2要素(x,y)×最大のパーティクル数
    //1つのパーティクルあたり6頂点×2要素(u,v)×最大のパーティクル数
  • ソースコード上の表記が一部間違っていました。

  •  
  • 202ページ ランドスケープモード設定に関する掲載コード(12行目)
  • ...略...
    glView.transform = CGAffineTransformConcat(glView.transform, CGAffineTransformMakeRotation(M_PI * 90.0f / 180.0f);
    ...略...
    ...略...
    glView.transform = CGAffineTransformConcat(glView.transform, CGAffineTransformMakeRotation(M_PI * 90.0f / 180.0f));
    ...略...
  •  最後のとじ括弧「)」が抜けていました。

  •  
  • 247ページ ES1Renderer.mmの8行目
  • int currentLapTimeMilliSeconds =
    (int)floor((currentGame.currentLapTime * 1000.0f) % 1000;
    int currentLapTimeMilliSeconds =
    (int)floor(currentGame.currentLapTime * 1000.0f) % 1000;
  • 不要な括弧が含まれていました。

  • 【 第3刷にて修正 】
  • 249ページ ES1Renderer.mmの7行目
  • int currentLapTimeMilliSeconds =
    (int)floor((currentGame.fastestLapTime * 1000.0f) % 1000;
    int currentLapTimeMilliSeconds =
    (int)floor(currentGame.fastestLapTime * 1000.0f) % 1000;
  • 不要な括弧が含まれていました。

  • 【 第3刷にて修正 】
  • 265ページ graphicUtil.hの2行目
  • #import "ector2D.h"
    #import "Vector2D.h"
  •  ソースコード上の表記が一部間違っていました。

  • 【 第3刷にて修正 】
  • 290ページ 5-7-2 外枠との衝突のソースコードの3行目
  • - (void)update{
    // ラップタイムを計測します
    currentLapTime = (int)floor(-[currentLapStartTime timeIntervalSinceNow]); ←この部分を修正
    この部分の修正は必要ありません。
  • 【 第3刷にて修正 】
  • 294ページ ES1Renderer.mmの15行目
  • drawCircle(currentGame.tyreBarrier[i]->center,
    currentGame.tyreBarrier[i]->radius, 8, 255, 255, 255, 255);
    drawCircle(currentGame.tyreBarrier[i]->center,
    8, currentGame.tyreBarrier[i]->radius, 255, 255, 255, 255);
  • タイヤバリアの描画部分において、引数の順番が間違っていました。

  • 【 第3刷にて修正 】
  • 325ページ ES1Renderer.mmの14行目
  • drawTyreBarrier(currentGame.tyreBarriers[i]->radius, 0.03f,
    tyreTexture, tyreSideTexture);
    drawTyreBarrier(currentGame.tyreBarriers[i]->radius, 0.03f, tyreTexture);
  •  関数の引数が多い個所がありました。

  • 【 第3刷にて修正 】