FC2ブログ

Entries

cocos2d 動作:効果 を日本語訳の巻

iPhoneの2Dゲーム作成用ライブラリの cocos2d のプログラミングガイド日本語訳です。

今回は、いろいろな効果に関して訳してみました。

これを使用することにより、いろんな場面での効果的な効果が実現できて

ゲームの表現がより深くなることでしょうね。

では、読んでみましょう。

------------------------------
<目次
効果

はじめに

効果(Effects)は、特別なアクションです。透過、位置、回転、サイズといった普通のプロパティを変更する代わりに、グリッドを変更します。

グリッドは格子のようなもので、正方形や長方形の連なりを形づくる、互いに交差した線のつながりです。

この特別なアクションは、にいかなる CCNode オブジェクト(CCLayer、CCScene、CCSpriteなど)をグリッド内に描写します。そして、頂点を動かすことによりグリッドを変化させることができます。

タイル化されたグリッド(tiled grid) と、タイル化されていないグリッド(non-tiled grid) の2種類のグリッドがあります。タイル化されたグリッド(tiled grid) は個別のタイルからなり、タイル化されていないグリッド(non-tiled grid) は頂点からなる、という違いがあります。



グリッドは行と列の2つの次元を持ちますが、それぞれの頂点は3つの次元、x、y、z を持ちます。

それで、タイル化された3次元グリッド(tiled-grid-3D grid)または3次元グリッド(grid-3D grid) を変化させる事により、2次元または3次元効果を作り出すことができます。

どのように動作するのか

スクリーンのそれぞれのフレームはテクスチャ(FBO)内に描写されます。

このテクスチャは頂点配列に変換され、そしてこの頂点配列(グリッド)はグリッドの効果によって変換されます。最終的に頂点座標はスクリーンに描写されます。

内部動作のさらなる詳細は、以下を参照してください。

タイル化されたグリッド(tiled grid):CCTiledGrid3D and CCTiledGrid3DAction
タイル化されていないグリッド(non-tiled grid):CCGrid3D and CCGrid3DAction

例えば、このような画像を描画するシーンやレイヤーがあったとします。



CCRipple3D アクションを使用するとこのように画像を変換することができます。

線で表された画像を見るとわかると思いますが、これは32×24のます目のタイル化されていない(すべてのグリッドがつながっている)グリッドを使用しています。



また、CCFadeOutTRTiles アクションを使用するとこのように画像を変換することができます。

線で表された画像を見るとわかると思いますが、これは16×12のます目のタイル化された(すべてのタイルはバラバラにできる)グリッドを使用しています。



3次元動作

末尾に 3D と付いたアクションは、グリッドの Z 座標を変更することにより3次元の視覚効果を生み出すことを意味します。

3D アクションを使用する場合、物体の奥行き情報を保持するためのバッファ(depth buffer)を使用すると思います。

以下の呼び出しにより簡単に設定できます。

// 注意:この関数は、最初のシーンを開始する前の、一番最初に呼び出してください。
// 24 ビット奥行き情報保持用バッファを構築
// openGL の z オーダー が考慮されることを意味します
[[CCDirector sharedDirector] setDepthBufferFormat:kDepthBuffer16];


そして、いくつかの状況で RGBA8888 ピクセルフォーマット も使用すると思います。

これにより透過の効果を得ることが可能です。

// 注意: この関数は、最初のシーンを開始する前の、一番最初に呼び出してください。
// 透過用のバッファのためにこのピクセルフォーマットを使用します
[[CCDirector sharedDirector] setPixelFormat:kPixelFormatRGBA8888];


グリッド効果の索引

以下の CCGrid3DAction アクションが使用可能です。

CCFlipX3D
CCFlipY3D
CCLens3D
CCLiquid
CCRipple3D
CCShaky3D
CCTwirl
CCWaves
CCWaves3D

以下の CCTiledGrid3DAction アクションが使用可能です。

CCFadeOutBLTiles
CCFadeOutTRTiles
CCFadeOutUpTiles
CCFadeOutDownTiles
CCJumpTiles3D
CCShakyTiles3D
CCShatteredTiles3D
CCShuffleTiles
CCSplitCols
CCSplitRows
CCTurnOffTiles
CCWavesTiles3D

使用例

いくつかの使用例を示します。

// スプライト1 上で、波の動作を実行
id waves = [CCWaves actionWithWaves:5 amplitude:20 horizontal:YES vertical:NO grid:ccg(15,10) duration:5];
[sprite1 runAction: [CCRepeatForever actionWithAction: waves]];
 
// そして、スプライト2上で Shaky3D アクションを実行
id shaky = [CCShaky3D actionWithRange:4 shakeZ:NO grid:ccg(15,10) duration:5];
[sprite2 runAction: [CCRepeatForever actionWithAction: shaky]];
スポンサード リンク

コメント

コメントの投稿

コメントの投稿

管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://miyachikantaro.blog.fc2.com/tb.php/17-79a8d046
この記事にトラックバックする(FC2ブログユーザー)

Appendix

出演ゲーム

みやちかんたろうの大冒険

↑インストールはこちらから
予告編

21面デモ

ステージ作成

検索フォーム

訪問者

Apple製品紹介

Apple MacBook Air 1.6GHz 13.3インチ MB003J/A

中古価格
¥59,800から
(2013/1/24 06:45時点)

QRコード

QR

メールフォーム

名前:
メール:
件名:
本文:

Extra

プロフィール

みやちかんたろう

Author:みやちかんたろう
種別:きいろいねこ
年齢:10歳
性別:オス
趣味:昆虫採集
twitter:@gatsupport

※このサイトはリンクフリーです。ご自由にリンクしてください。相互リンクもじゃんじゃん募集中です!!

最新記事

最新コメント

最新トラックバック

月別アーカイブ