クラス _Canvas／_Canvas3D

アプリケーションの表示面を提供します。イベントはこのクラスのサブクラスのインスタンスに通知されます。

_Canvas3D クラスでは、下記のフレームワークを追加する必要があります。

・OpenGLES.framework
・QuartzCore.framework

インスタンスメソッド

| getMain

- (_Main*)getMain

アプリケーション唯一の _Main オブジェクトを取得します。

戻り値：
_Main オブジェクトを返します。

| getWidth

- (int)getWidth

スクリーンの幅を取得します。

戻り値：
スクリーンの幅をピクセル単位で返します。

| getHeight

- (int)getHeight

スクリーンの高さを取得します。

戻り値：
スクリーンの高さをピクセル単位で返します。

| getGraphics

- (_Graphics*)getGraphics

キャンバスに描画するための _Graphics オブジェクトを取得します。

戻り値：
キャンバスに描画するための _Graphics オブジェクトを返します。

| clearTouch

- (void)clearTouch

タッチ情報を削除します。

補足説明：
addView:: メソッドを使用してアラートビューを表示する等、キャンバスからフォーカスが奪われる場合、本メソッドを呼び出す必要があります。

| getTouchNum

- (int)getTouchNum

タッチ数を取得します。

戻り値：
タッチ数を返します。

| getTouchX:

- (int)getTouchX:(int)index

タッチイベントX座標を取得します。

パラメータ：

index | タッチID

戻り値：
タッチイベントX座標を返します。

| getTouchY:

- (int)getTouchY:(int)index

タッチイベントY座標を取得します。

パラメータ：

index | タッチID

戻り値：
タッチイベントY座標を返します。

| setWindow:::::: setWindow::

- (void)setWindow:(int)left :(int)top :(int)right :(int)bottom :(int)width :(int)height
- (void)setWindow:(int)width :(int)height

スクリーン内の矩形領域をウィンドウ領域として設定します。

パラメータ：

left | スクリーン内の矩形の左上X座標を指定します。
top | スクリーン内の矩形の左上Y座標を指定します。
right | スクリーン内の矩形の右下X座標を指定します。
bottom | スクリーン内の矩形の右下Y座標を指定します。
width | スクリーン内の矩形領域にマッピングするウィンドウの幅を指定します。
height | スクリーン内の矩形領域にマッピングするウィンドウの高さを指定します。

補足説明：
パラメータが2個のタイプは、ピクセルアスペクト比1:1でスクリーン内にセンタリングされるようにマッピングされます。

| getWindowLeft

- (int)getWindowLeft

setWindow::::::／setWindow:: メソッドにより設定されているスクリーン内の矩形の左上X座標を取得します。

戻り値：
スクリーン内の矩形の左上X座標を返します。

| getWindowTop

- (int)getWindowTop

setWindow::::::／setWindow:: メソッドにより設定されているスクリーン内の矩形の左上Y座標を取得します。

戻り値：
スクリーン内の矩形の左上Y座標を返します。

| getWindowRight

- (int)getWindowRight

setWindow::::::／setWindow:: メソッドにより設定されているスクリーン内の矩形の右下X座標を取得します。

戻り値：
スクリーン内の矩形の右下X座標を返します。

| getWindowBottom

- (int)getWindowBottom

setWindow::::::／setWindow:: メソッドにより設定されているスクリーン内の矩形の右下Y座標を取得します。

戻り値：
スクリーン内の矩形の右下Y座標を返します。

| windowX:

- (int)windowX:(int)x

スクリーンX座標をウィンドウX座標に変換します。

パラメータ：

x | スクリーンX座標

戻り値：
ウィンドウX座標を返します。

| windowY:

- (int)windowY:(int)y

スクリーンY座標をウィンドウY座標に変換します。

パラメータ：

y | スクリーンY座標

戻り値：
ウィンドウY座標を返します。

| screenX:

- (int)screenX:(int)x

ウィンドウX座標をスクリーンX座標に変換します。

パラメータ：

x | ウィンドウX座標

戻り値：
スクリーンX座標を返します。

| screenY:

- (int)screenY:(int)y

ウィンドウY座標をスクリーンY座標に変換します。

パラメータ：

y | ウィンドウY座標

戻り値：
スクリーンY座標を返します。

| setLayout:

- (void)setLayout:(_Layout*)layout

レイアウトを適用します。

パラメータ：

layout | レイアウト情報を保持する _Layout オブジェクト。nil を指定すると、レイアウトを解除します。

補足説明：
レイアウトを適用すると、レイアウトタッチイベントを検知することができるようになります。
また、getLayoutState メソッドでレイアウトのタッチ状態を取得できるようになります。

| getLayoutState

- (int)getLayoutState

レイアウトのタッチ状態を取得します。

戻り値：
レイアウトのタッチ状態を返します。

補足説明：
本メソッドの戻り値の各ビットの位置がレイアウトIDに対応します。ビットとレイアウトIDの対応は、1<<(レイアウトID) となります。例えば、レイアウトIDが 2 のレイアウトがタッチされているかどうかの判定は、本メソッドの戻り値と (1<<2) とでAND（"&"）をとります。

| drawLayout:

- (void)drawLayout:(_Graphics*)g

レイアウトをデバッグ表示します。

パラメータ：

g | 描画に使用される _Graphics オブジェクト

補足説明：
描画に使用される色やフォントサイズ等は、あらかじめ設定しておく必要があります。

| addView::

- (void)addView:(UIView*)view :(int)tag

ビューを追加します。

パラメータ：

view | 追加するビューを指定します。
tag | ビューに設定するタグ値を指定します。

| removeView:

- (void)removeView:(int)tag

ビューを取り除きます。

パラメータ：

tag | 取り除くビューのタグ値を指定します。

| [_Canvas3D クラス] getViewportWidth

- (int)getViewportWidth

glViewport 関数の引数に有効な幅の値を取得します。

戻り値：
glViewport 関数の引数に有効な幅の値を返します。

| [_Canvas3D クラス] getViewportHeight

- (int)getViewportHeight

glViewport 関数の引数に有効な高さの値を取得します。

戻り値：
glViewport 関数の引数に有効な高さの値を返します。

| [_Canvas3D クラス] lock3D

- (void)lock3D

OpenGL ES 描画の開始を宣言します。

| [_Canvas3D クラス] unlock3D

- (void)unlock3D

OpenGL ES 描画の終了を宣言します。

| [_Canvas3D クラス] setMultiSample:

- (void)setMultiSample:(BOOL)flag

マルチサンプル機能のＯＮ／ＯＦＦを切り替えます。

パラメータ：

flag | マルチサンプル機能を使用する場合 YES、使用しない場合 NO

| [_Canvas3D クラス] multiSample

- (BOOL)multiSample

マルチサンプル機能のＯＮ／ＯＦＦ状態を取得します。

戻り値：
マルチサンプル機能を使用する設定になっている場合 YES、使用しない設定になっている場合 NO

| _frameTime

- (int)_frameTime

本メソッドをオーバーライドして、1フレームの時間（ミリ秒）を返してください。

| _touchNum

- (int)_touchNum

本メソッドをオーバーライドして、マルチタッチ最大数を返してください。

| [_Canvas3D クラス] _multiSample

- (BOOL)_multiSample

本メソッドをオーバーライドして、起動時にマルチサンプル機能を有効にするかどうかを返してください。

| _init _init3D

- (void)_init [_Canvas クラス]
- (void)_init3D [_Canvas3D クラス]

キャンバスの初期化時に呼ばれるメソッドです。

補足説明：
_init3D メソッドの中で、OpenGL ES の初期化処理を行ってください。

| [_Canvas3D クラス] _reset3D

- (void)_reset3D

キャンバスが初期化された状態で、高解像度モードのＯＮ／ＯＦＦが切り替えられた時に呼ばれるメソッドです。

補足説明：
本メソッドの中で、OpenGL ES の再設定処理を行ってください。

| _end _end3D

- (void)_end [_Canvas クラス]
- (void)_end3D [_Canvas3D クラス]

キャンバスの終了時に呼ばれるメソッドです。

補足説明：
_end3D メソッドの中で、OpenGL ES の終了処理を行ってください。

| _paint: _paint3D:

- (void)_paint:(_Graphics*)g [_Canvas クラス]
- (void)_paint3D:(_Graphics*)g [_Canvas3D クラス]

キャンバスに表示するために使用するメソッドです。このメソッドは、タイマーにより呼び出されます。

パラメータ：

g | 描画に使用する _Graphics オブジェクトが渡されます。

補足説明：
_paint3D: メソッドの中で、OpenGL ES の描画処理および _Graphics オブジェクトを使った描画処理を行ってください。

| _suspend

- (void)_suspend

アプリケーションがサスペンド状態になった直後に呼ばれるメソッドです。

| _resume

- (void)_resume

アプリケーションがサスペンド状態から戻った直後に呼ばれるメソッドです。

| _processEvent::

- (void)_processEvent:(int)type :(int)param

イベントが通知されたときに呼ばれるメソッドです。

パラメータ：

type | イベントのタイプが渡されます。
param | イベントのパラメータが渡されます。パラメータの意味はイベントによって異なります。

補足説明：
イベントのタイプには、次のものがあります。

TOUCH_DOWN_EVENT | 画面をタッチダウンすると通知されます。パラメータには、タッチIDが渡されます。
TOUCH_MOVE_EVENT | 画面をムーブすると通知されます。パラメータには、タッチIDが渡されます。
TOUCH_UP_EVENT | 画面をタッチアップすると通知されます。パラメータには、タッチIDが渡されます。
LAYOUT_DOWN_EVENT | レイアウトをタッチダウンすると通知されます。パラメータには、レイアウトIDが渡されます。本イベントが通知されたときは、TOUCH_DOWN_EVENT は通知されません。
LAYOUT_UP_EVENT | レイアウトをタッチアップすると通知されます。パラメータには、レイアウトIDが渡されます。本イベントが通知されたときは、TOUCH_UP_EVENT は通知されません。

| _onOrientationChange:

- (void)_onOrientationChange:(UIInterfaceOrientation)orientation

画面の向きが変更されたときに呼ばれるメソッドです。

パラメータ：

orientation | 変更後の画面の向きが渡されます。
UIInterfaceOrientationPortrait | ホームボタン下
UIInterfaceOrientationLandscapeLeft | ホームボタン左
UIInterfaceOrientationLandscapeRight | ホームボタン右
UIInterfaceOrientationPortraitUpsideDown | ホームボタン上

| _gameCenterAuthOK

- (void)_gameCenterAuthOK

Game Center の認証に成功したときに呼ばれるメソッドです。

| _gameCenterAuthNG

- (void)_gameCenterAuthNG

Game Center の認証に失敗したときに呼ばれるメソッドです。

| _gameCenterReportAchievementOK::

- (void)_gameCenterReportAchievementOK:(NSString*)identifier :(float)percent

Game Center への達成状況の報告に成功したときに呼ばれるメソッドです。

パラメータ：

identifier | 報告したアチーブメント識別子
percent | 報告した達成状況

| _gameCenterReportAchievementNG::

- (void)_gameCenterReportAchievementNG:(NSString*)identifier :(float)percent

Game Center への達成状況の報告に失敗したときに呼ばれるメソッドです。

パラメータ：

identifier | 報告したアチーブメント識別子
percent | 報告した達成状況

| _gameCenterCloseAchievementView

- (void)_gameCenterCloseAchievementView

標準アチーブメントビューが閉じられたときに呼ばれるメソッドです。

| _gameCenterReportScoreOK::

- (void)_gameCenterReportScoreOK:(NSString*)category :(int64_t)score

Game Center へのスコアの報告に成功したときに呼ばれるメソッドです。

パラメータ：

category | 報告した Leaderboard 識別子
score | 報告したスコア

| _gameCenterReportScoreNG::

- (void)_gameCenterReportScoreNG:(NSString*)category :(int64_t)score

Game Center へのスコアの報告に失敗したときに呼ばれるメソッドです。

パラメータ：

category | 報告した Leaderboard 識別子
score | 報告したスコア

| _gameCenterCloseLeaderboardView

- (void)_gameCenterCloseLeaderboardView

標準 Leaderboard ビューが閉じられたときに呼ばれるメソッドです。

| _onHttpResponse:

- (void)_onHttpResponse:(NSData*)data

通信成功したときに呼ばれるメソッドです。

パラメータ：

data | レスポンスデータとして、NSData オブジェクトが渡されます。

| _onHttpError:

- (void)_onHttpError:(int)status

通信失敗したときに呼ばれるメソッドです。

パラメータ：

status | HTTPステータスコードが渡されます。

| _inAppPurchaseInvalid:

- (void)_inAppPurchaseInvalid:(NSString*)identifier

_InAppPurchase クラスの purchase: メソッドに指定したプロダクトＩＤが無効なときに呼ばれるメソッドです。

パラメータ：

identifier | プロダクトＩＤ

| _inAppPurchasePurchaseOK::

- (void)_inAppPurchasePurchaseOK:(NSString*)identifier :(NSData*)receipt

購入処理に成功したときに呼ばれるメソッドです。

パラメータ：

identifier | プロダクトＩＤ
receipt | レシートデータが渡されます。

| _inAppPurchasePurchaseNG:

- (void)_inAppPurchasePurchaseNG:(NSString*)identifier

購入処理に失敗したときに呼ばれるメソッドです。

パラメータ：

identifier | プロダクトＩＤ

| _inAppPurchaseRestoreOK:

- (void)_inAppPurchaseRestoreOK:(NSString*)identifier

リストア処理に成功したときに呼ばれるメソッドです。

パラメータ：

identifier | プロダクトＩＤ

| _inAppPurchaseRestoreNG

- (void)_inAppPurchaseRestoreNG

リストア処理に失敗したときに呼ばれるメソッドです。

| _inAppPurchaseRestoreCompleted

- (void)_inAppPurchaseRestoreCompleted

全てのリストア処理が終了したときに呼ばれるメソッドです。

| _inAppPurchaseCancelled:

- (void)_inAppPurchaseCancelled:(NSString*)identifier

購入処理またはリストア処理がキャンセルされたときに呼ばれるメソッドです。

パラメータ：

identifier | プロダクトＩＤ

| _musicComplete:

- (void)_musicComplete:(id)music

BGM再生が完了したら呼ばれるメソッドです。

パラメータ：

music | 再生が完了した _Music オブジェクトが渡されます。

| _twitterAuthOK

- (void)_twitterAuthOK

Twitter の認証に成功したときに呼ばれるメソッドです。

| _twitterAuthNG

- (void)_twitterAuthNG

Twitter の認証に失敗したときに呼ばれるメソッドです。

| _twitterTweetOK

- (void)_twitterTweetOK

ツイートに成功したときに呼ばれるメソッドです。

| _twitterTweetNG:

- (void)_twitterTweetNG:(int)status

ツイートに失敗したときに呼ばれるメソッドです。

パラメータ：

status | HTTPステータスコードが渡されます。

| _twitterCloseTweetComposeView

- (void)_twitterCloseTweetComposeView

標準ツイートビューが閉じられたときに呼ばれるメソッドです。

| _onWebViewShouldStartLoad:

- (BOOL)_onWebViewShouldStartLoad:(NSString*)url

新しいURLが指定されたときに呼ばれるメソッドです。
リクエストを中止する場合 YES を返してください。

パラメータ：

url | URLが渡されます。

補足説明：
_onWebViewShouldStartLoad: 内で

if( [url hasPrefix:@"native://"] ) { NSString* command = [url substringFromIndex:9]; if( [command isEqualToString:@"command1"] ) { // ネイティブ処理 } return YES; }

のように実装し、JavaScript側で

location.href = "native://command1";

と実行することで、JavaScriptからネイティブ処理を呼び出すことができます。

| _onWebViewStartLoad:

- (void)_onWebViewStartLoad:(NSString*)url

ページ読み込み開始時に呼ばれるメソッドです。

パラメータ：

url | URLが渡されます。

| _onWebViewFinishLoad:

- (void)_onWebViewFinishLoad:(id)webView

ページ読み込み完了時に呼ばれるメソッドです。

パラメータ：

webView | _WebView オブジェクトが渡されます。

| _onWebViewLoadError::

- (void)_onWebViewLoadError:(NSError*)error :(id)webView

ページ読み込みエラー時に呼ばれるメソッドです。

パラメータ：

error | NSError オブジェクトが渡されます。
webView | _WebView オブジェクトが渡されます。