#If 0ってC,C++では、#endifまで問答無用でコメントにしますが、 これを使ったハックがすごく便利。 元ネタ http://gpwiki.org/index.php/SDL:Tutorial:Using_SDL_net #if 0 #!/bin/sh gcc -o a a.c exit #endif int main( void ) { printf( "Hello\n"); return 1; } これを保存して、実行属性をつけてから(chmod 755とか) ターミナルで、 # ./a.c と打ち込むと、 aという実行ファイルが生成される。 んで、./aと打ち込むと Helloと表示される。 今までは、Makefileか直接、gcc -o a a.cとかやっていた作業が、 ソースコード+Makefileの代わりになるわけ。 なぜこんな事ができるかってーと、 shのシェルスクリ
Coro::AnyEventを使うと、継続渡しスタイルを使わずに非同期を書くことができます*1。 ということで、試しにやってみました。 最初にまとめ AnyEventの層を作り、その上にCoroの層を重ねて、フロントエンドからはCoroの層だけ使うとわかりやすいアプリができるんじゃないかなあと思います。 (0) AnyEventのAPIを作る まず、AnyEventでフロントエンドのための材料を作ります。頑張ってコールバックを使って非同期処理を書いて下さい。名前空間はAnyEvent::的な何かにするといいと思います。また、たぶんこの段階ではまだCoro::AnyEventは使わない方が無難です。ピュアAnyEventの方が使い回しが効きますし。 ここでは、AnyEvent::HTTPを題材にします。バックエンドとしてすでにAnyEvent::HTTPは使えるものとします。 (1) Cor
box2d, asBox2d で多角形を作るときには b2PolygonDef を使うのだけれど、はまるポイントが意外に多い。基本vertexCount に頂点の数、vertices 配列に頂点の座標を設定する。 var shapeDef:b2PolygonDef = new b2PolygonDef(); shapeDef.vertexCount = 3; shapeDef.vertices[0].Set(0, 0); shapeDef.vertices[1].Set(50, 50); shapeDef.vertices[2].Set(50, -50); shapeDef を作ったあとにどうすべきかは、Box2DFlashAS3 の単純なサンプルと使い方 (2.0.2版) をご覧あれ。はまりポイント1:点を定義する順番に注意時計回りに座標をしないとダメ。反時計周りにすると、落ちてこなかっ
iPhone SDK 2.0 is a welcome thing but some of the controls make you wonder how they are supposed to be easy to work with. One thing iPhone devs will need that has driven me nuts because so few implement it right yet in any of the apps I’ve seen it in. The odometer style pickerview, no one seems to understand so I’m going to break down the UIPickerView into its most basic components hopefully this
これまで、iPhoneやiPod touchの全体でどのようなメモリ使用量になっているのかということについては、何度か説明してきました。当然のことですが、アプリ開発者に取ってはそれだけでなく、自分が作ったアプリが、いったいどのくらいメモリを使用しているのかを知ることは重要です。 XCodeで、「実行 --> パフォーマンスツールを使って開始」の、Activety Monitorで見ることができますが、デバッガとの併用ができないので使いにくいこともあります。その場合には、*1。/Developer/Applications/Instruments.appを独立して起動することで、デバッグしながらメモリの状況を見ることができますが、自分でメモリ使用量を取得してログ出力するようにしておくと便利です。 以下に、そのためのサンプルコードを示します。 #import <Foundation/Found
For one of my iPhone project, I had to view large images of about 2500×2500 pixels, which is tricky because UIImage and UIView doesn’t support size above 1024×1024. My approach was to create a smaller, lower resolution image of 512×512 for panning and zooming, and add a high resolution image of the size of the device screen. Let’s dig into the code! You don’t have to bother copying the code from t
1 #define BM_START(name) NSDate *name##_start = [NSDate new] 2 #define BM_END(name) NSDate *name##_end = [NSDate new];\ 3 NSLog(@"%s interval: %f", #name, [name##_end timeIntervalSinceDate:name##_start]);\ 4 [name##_start release];[name##_end release] iPhoneアプリを開発している場合、シミュレータ上の動作時間と 実機での動作時間は全く異なるので、 実際に実機で動かしてみた場合にどの程度の時間がかかっているかを 測定するのに使っています。
iPhone で画像をリサイズする方法です。 下記で、UIImage *image の画像を 320×480 のサイズにリサイズしています。 CGImageRef imageRef = [image CGImage]; size_t w = CGImageGetWidth(imageRef); size_t h = CGImageGetHeight(imageRef); size_t resize_w, resize_h; if (w>h) { resize_w = 320; resize_h = h * resize_w / w; } else { resize_h = 480; resize_w = w * resize_h / h; } UIGraphicsBeginImageContext(CGSizeMake(resize_w, resize_h)); [image drawIn
iPhone アプリのアイコンは iPhone が勝手に角丸で透明感 (glossy) のあるアイコンにエフェクトをかけて表示してくれます。 参考:[iPhone 開発メモ] アプリ起動時のスプラッシュ画像とアイコンを設定する方法 どうしても自分でアイコンのエフェクトを決めたい場合は info.plist で UIPrerenderedIcon に <true/> を設定すれば透明感 (glossy) がなくなります。 設定方法は info.plist に UIPrerenderedIcon という Key を追加して Value のところで右クリックして [Value Type] > [Boolean] を選択するとチェックボックスに変わるので、そのチェックボックスにチェックを入れます。
(2011/11/05 追記) Xcode 4.2では設定する箇所が変わりましたので新しく解説を書きました。 URL schemeを使ってアプリを起動する(Xcode 4.2の場合) - 強火で進め http://d.hatena.ne.jp/nakamura001/20111105/1320501005 (追記ここまで) iPhoneではURL schemeを使ってアプリを起動(同時に引数を渡すことも可能)することができます。 公式のドキュメントはこちらになります。 iOS Application Programming Guide: Implementing Common Application Behaviors http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgra
下記サイトを参考に自分でも試してみました。 超簡単にSqliteをつかう iPhone Programming Tutorial - Creating a ToDo List Using SQLite Part 1 利用手順 1. DBファイルとテーブルの作成 2. 必要なライブラリ(FMDB for iPhone, libsqlite3.0.dylib)を追加 3. FMDBのメソッドを利用してSQLiteを利用 DBファイルとテーブルの作成 まずはデータベースとテーブルを作成します。 $ sqlite3 sample.db sqlite> CREATE TABLE TEST( ...> id INTEGER PRIMARY KEY, ...> name VARCHAR(255) ...> ); という風にコマンドでやってもいいですが、ファイルだけ作ったら後はLitaというAIRのSQL
参考サイト Apple - Support - Discussions - Roate UIImage help Apple - Support - Discussions - iPhone: How to get the original photo image with Picker iPhoneのカメラで撮影した画像は、1,600 x 1,200とそのままアップロードするには大きいので、リサイズする方法を調べました。 まだ自分でもよくわかっていませんが、メモとして載せておきます。 画像のサイズを取得 - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo {
[iPhone][Apple][SDK] ①タブバーの上からアクションシートがでてる iInformationおかげさまでユーティリティ部門、最高で16位まで いきました。また、ガンガンとおちていってます。 無料なんで、ためしてください。 さらに、バージョン1.2申請しました。 ■ディスクスペースの表示 ■iPhone の起動時間の表示 ■CPUのロードアベレージの表示 ■リロードボタンの削除による、データの自動更新 です。よろしくお願いします。(^^) さてさて、①のスクリーンショットは申請中のiInformationProの メモリークリーニングの画面です。(さりげなく宣伝を...) アクションシートがタブバーの上からでてるのがわかるでしょうか? 本来は、下から出したのですがキャンセルボタンが反応しないの です。 しょうがないので、タブバーの上からだすことにしました。 以下がソースコー
僕はInterfaceBuilderを一切使いたくないという方針なので、下記のようにするとUIViewControllerなんかも気軽に間にはさめていい感じになるんじゃないでしょうか。 「OpenGL ES Application」でプロジェクトを新規作成 EAGLView.hとEAGLView.mをどこかにコピー 「Window - Based Application」でプロジェクトを新規作成 さっきとっておいたEAGLView.hとmをClassesグループ内にコピー Frameworksグループ内に既存のフレームワークとして「OpenGLES」と「QuartzCore」を追加 EAGLView.mのinitWithCoderメソッドの中身を、initWithFrameメソッドを作成してそっちにコピー EAGLView.mのinitWithCoderメソッドを削除 AppDelegat
iPhoneSDKのUIViewで親ビューのalpha値を変更すると、子ビューのalpha値も強制的に同じ値になってしまいますが、以下のようにすると子は親とは別の透明度を持つことが出来るようです。 駄目な例 UIView *oya = [[UIView alloc] init]; oya.alpha = 0.5f; UIView *ko = [[UIView alloc] init]; ko.alpha = 1.0f; [oya addSubview:ko]; //子の透明度は0.5fになる 良い例 UIView *oya = [[UIView alloc] init]; oya.backgroundcolor = [UIColor colorWithRed:0.0f green:0.0f blue:0.0f alpha:0.5f]; UIView *ko = [[UIView alloc
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く