電子ガジェットいろいろ

電子系のガジェットやアプリ開発等の話題を書いてます

開発メモ

iPhone SDKでOpenGLに挑戦 立方体を表示してみよう (iPhoneSDK3.1以降)

今回も以前のエントリーの内容をiPhoneSDK3.1以降用に書きます。今回はOpenGL ES1.1用で表示する方法を書きます。 前準備 まず"iPhoneでのOpenGLの簡単な遊び方 (iPhoneSDK3.1以降)"を読んで、OpenGL ES1.1を使うように修正してください。 この修正をした…

iPhoneでのOpenGLの簡単な遊び方 (iPhoneSDK3.1以降)

以前のエントリーでOpenGLの簡単な遊び方を書きましたが、iPhoneSDK3.1以降でテンプレートが変わったので、簡単に説明します。新しいテンプレートではOpenGL ES2.0対応の場合はES2.0の機能を使い、対応していない場合はES1.1の機能を使うように、レンダリン…

Android SDK 1.6のシミュレータ

Dev Phone 1用のAndroidOSも1.6になったので、AndroidSDK1.6のシミュレータと比較してみました。 iPhoneSDKのシミュレータと違って実機より遅いです。 Windows版はまだ動かしてみてませんが、どうなのでしょう? 実行環境はMacbookPro17'(mid2009)でかなり早…

iPhone3GSと新型iPod touchのCPUについて

iPhone3GSと新型iPod touchのCPUはSamsungのカスタムチップS5PC100が使われています。 このカスタムチップはCPUのコアと2D,3D等のマルチメディア機能、周辺機器のDMA機能、メモリコントローラが1チップに詰め込まれています。 CPUコアとマルチメディア機能の…

機種の判別法法とOSのバージョンの取得方法

以前も一度書いたエントリーですが、その時不明だったiPhone3Gと3GSの判別も分かったので、書き直します。3GSと3Gを判別する方法を調べてたときの副産物。結局3GSの判別方法はまだ見つからず。 環境の判別方法 UIDeviceのプロパティmodelから取得できる。 取…

iPhone SDK OpenGLのビューの背景を透明にする方法

OpenGLの背景を透明にする手順です。 手順 OpenGLのビューの背景を透明にする <OpenGLのビュー>.backgroundColor = [UIColor colorWithWhite:0.0f alpha:0.0f]; OpenGLのレイヤー(CAEAGLLayerのインスタンス)のプロパティopaqueをNOにする。 <OpenGLのレイヤー>.opaque = NO; OpenGLのファンク</openglのレイヤー></openglのビュー>…

iPhoneOS用フレームワークSIO2 SDKについてのメモ

主に3Dのゲームに使えそうなフレームワークSIO2 SDKについてのメモ 基本はOpenGLなので、OpenGLが使える人は使いやすそう。 Blenderのモデルファイルを読めるらしい。ちょっと複雑なせいか、cocos2dと比べるとブログ等の情報が少ないので、今回はほんのURLの…

iPhoneOS用フレームワークcocos2d for iPhoneについてのメモ

主にゲーム用に使えそうなフレームワークcocos2d for iPhoneについてのメモ 公式ページ cocos2d for iPhone ドキュメント(wiki) 特徴 cocos2d for iPhoneは、2Dゲーム、デモ、および他のグラフィカル/インタラクティブなアプリケーションを構築するための…

iPhoneSDK用OpenGL ESテクスチャクラス

いつも自分で使ってる自作のiPhoneSDK用OpenGL ESテクスチャクラスを公開します。 ダウンロード ダウンロードはこちら OSXでzip圧縮しています。 特徴 難しい手続き無しですぐにテクスチャが使える。インスタンスを作って画像ファイル名を指定して、使いたい…

iPhoneSDKで使えるフォント(画像付き!)

フォントの使い方は以前のエントリーで書きましたが、海外のページで良い画像を拾ったので、置いておきます。 あと、主に海外で出回っているお決まりの?フォント一覧取得のソースがあったので、こちらも置いておきます。 これを使えば、将来フォントが追加…

iPhone SDK 本体のローカライズの書式設定に合わせて日付時刻を取得する方法

本体のローカライズの書式設定(言語環境の書式)の設定に合わせて日付時刻を取得する方法 概要 NSDateFormatterのインスタンスメソッドのsetLocaleでロケールを設定。 現在設定されているロケールは[NSLocale currentLocale]で取得できるので、そのままsetL…

iPhone SDK でUIImageの画像をSQLiteのDBに格納する方法

UIImageに格納された画像のバイナリイメージをSQLiteのDBに保存をする方法SQLiteの使い方はiPhoneSDKでSQLiteを使う方法に書いてあります。 サンプルとして使うテーブル サンプルとして以下のようなテーブルを定義して、格納します。 バイナリデータを格納す…

URLで使うためにNSStringの文字列をエンコードしてエスケープ

NSStringの文字列を指定した文字コードでエンコードし、エスケープするには、NSStringのインスタンスメソッド stringByAddingPercentEscapesUsingEncoding:(NSStringEncoding)エンコードの種類 でできます。例:"あいう"を各種文字コードでエンコード+エス…

iPhoneSDKで端末IDを取得する方法

iPhoneSDKで端末IDを取得する方法のメモUIDeviceのクラスメソッドcurrentDeviceでインスタンスを作成。 uniqueIdentifierメソッドでIDを取得できる。 // インスタンス作成 UIDevice *device = [UIDevice currentDevice]; // デバイスID表示 NSString *device…

iPhoneSDKでOpenGL ESのテクスチャ画像の呼び方

OpenGL ESのテクスチャ画像の呼び方のメモ 例として、プロジェクト作成時に"OpenGL ES Application"を選んだプロジェクトをカスタマイズする。 テクスチャ画像をプロジェクトに追加する。 今回用意したテクスチャ画像(tex.png) これをプロジェクトのResour…

iPhone/iPod touchのSafariやUIWebViewのJavaScriptで使えるタッチイベントのメモ

画面の固定 スクロールすると座標計算がややこしくなるので、画面を固定する。 ・横方向 metaタグを追加 <meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />・縦方向 touchmoveイベント中でevent.preventDefault()を実行する。 イベントの種類 onTouchStart onTouchMove onTouchEnd onTouchCancel イベントの</meta>…

iPhoneのGPSとMapKitを使った地図を連動させる方法

前回のエントリー"iPhoneで緯度経度を取得する簡単な方法の続き。 今度は取得した座標を中心に地図を表示させるメモです。 前回のプロジェクトに追加します。 プロジェクトへMapKit.Frameworkを追加 "AppDelegate.h"へヘッダファイルとプロトコルの追加する…

iPhoneで緯度経度を取得する簡単な方法

iPhoneのGPSやWifi(iPod touchも可)を使って現在地の緯度経度を取得する簡単な方法です。 今回は簡単に"Window-based Application"のテンプレートを使った例です。 プロジェクトへCoreLocation.Frameworkを追加 "AppDelegate.h"へヘッダファイルとプロトコル…

iPhoneSDKで本体の言語設定を取得する方法

iPhoneSDKで本体の言語設定の取得する方法のメモ [NSLocale preferredLanguages]で選択可能な言語設定の配列を取得。 現在設定されている言語は取得した配列の先頭にある。 // 選択可能な言語設定の配列を取得 NSArray *languages = [NSLocale preferredLang…

iPhone/iPod touchの仕様のまとめ

iPhone iPod touch iPhone(GSM) iPhone 3G iPhone 3G S iPod touch iPod touch 2G 発表 2007年1月9日 2008年6月9日 2009年6月8日 2007年9月5日 2008年9月9日 発売時期 2007年6月29日(日本未発売) 2008年7月11日 2009年6月26日 2007年9月25日 2008年9月10日…

iPhoneSDKのUITableViewの使い方

UITableViewControllerを使って操作するのが簡単なので、そのやり方のメモ。例ではプロジェクトを"TestTableView"として解説します。 プロジェクト作成 テンプレートは"Window-based Application"を選択 Interface BuilderでMainWindow.xibを編集 Table View…

iPhoneSDKでSQLiteを使う方法

SQLiteのメモ SQLiteのDBファイルはアプリのドキュメントフォルダにある必要がありますが、今回はリソースフォルダに初期DBファイルを置き、ドキュメントフォルダに存在しない場合(初回起動)の場合にリソースフォルダよりコピーして使う方法をとります。 S…

iPhoneSDKのUIViewアニメーション

UIViewをアニメーションさせる方法 簡単な方法 CGContextRef context = UIGraphicsGetCurrentContext(); [UIView beginAnimations:nil context:context]; [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; [UIView setAnimationDuration:<アニメ…

iPhoneSDKでインジケータ(待ち等に表示する回転画像)を簡単に表示する方法

iPhoneSDKでインジケータ(下の様なアニメーションしている画像)の表示方法です。 デフォルトの画像で良いなら、数行で使うことができます。 ファイルの読み込みや通信中等のユーザが待ち状態になる処理には、表示するようにした方が良いでしょう。インジケ…

iPhoneSDKでサウンドの簡単な再生方法

『iPhoneSDKで効果音の再生方法』でAudio Queue Servicesを使った効果音等の短い(5秒以内)の音声ファイルを再生する方法を書きましたが、今回はそれよりも長い音声ファイルを簡単に再生する方法です。 iPhone OS 2.2以降は音声ファイルはAVAudioPlayerで…

Android SDK インストールからHello World実行まで

今回はiPhoneではなくAndroid SDKインストールの私的メモです。 Eclipse3.3以降の環境です。 フォルダの指定以外は、Windows,MacOSX共通です。 (今回の説明ではMacOSXを使用してます。) Eclipseの操作手順は省略しますので、操作についてわからない場合は…

iPhoneで画像のサイズ変更方法(UIImage)

UIImageに格納した画像のサイズを変更する方法です。元の画像を以下のようにorgImageに格納したとします。 UIImage *orgImage = [UIImage imageNamed:@"test.png"]; これに対してサイズ変更し、resizeImageへ格納する方法。 UIImage *resizeImage = [orgImag…

iPhoneSDKでスリープさせない方法(旧)

少し正式な方法から外れていたので、書き直しました。 こちらのエントリーへ移動してください。

iPhoneSDKで効果音の再生方法

効果音等5秒以下の音声ファイルはAudio Servicesで簡単に扱うことができますが、5秒を超えるものは、Audio Queue Servicesを使うことになり、少々ややこしくなります。 ここでは、5秒以下の音声ファイルは簡単に扱う方法を説明します。(5秒以上の音声フ…

HTMLとJavaScriptでiPhoneアプリを簡単に作る方法

改訂版のエントリーがあるので、こちらを参照してください。 HTMLとJavaScriptでiPhoneアプリを超簡単に作る方法 今回はHTML+JavaScriptでiPhoneアプリを作る方法です。 iPhoneSDKにはSafariにも搭載されているレンダリングエンジンのWebkitが含まれています…