totemblr




Submit
マンナンライフがヤケクソ?蒟蒻畑の表記がTwitterで話題に|| ^^ |秒刊SUNDAY

マンナンライフがヤケクソ?蒟蒻畑の表記がTwitterで話題に|| ^^ |秒刊SUNDAY

注意したいのは対応機種で、Macのディスプレー出力がデジタル放送の著作権保護機能に対応していないため、基本的には外部のディスプレーに地デジ を映すことができない。MacBook、MacBook Pro、iMacなど、ディスプレー内蔵モデルなら問題ないが、Mac miniやMac Proでは使えなかったり、フルHDで視聴できなかったりする

 CaptyTV Hi-Visionは、アナログRGBを経由した場合のみ、解像度を52万画素に落として外部ディスプレーに出力できる仕様だ。「Apple Mini DisplayPort - VGA アダプタ」(3400円)などMacにつなぎ、VGAで入力できるディスプレーを用意すれば、Mac miniやMac ProでもフルHDではないが地デジを見られる。

ってか、とにかく安く、手っ取り早くやりたいのなら、mathey Mac対応ビデオキャプチャー VIDEO CAP For Mac MVCP-02MACがお勧めですね
こ れはS端子までですが、8ミリビデオの取り込み、VHSでため込んでいる映像をデジタル化して、これ以上劣化しない状態で保存するのにも使えます。どう せ、アナログの低解像度の画面なんだからと割り切れば、とくにシビアなFPSやアクションゲームでなければ、昔のPS2やWiiくらいなら、こちらだけ で、Macの取り込み画面を見ながらでもプレイできるかもしれません。分配しなくても使えるかもです。

こ れで、地デジチューナーか地デジ対応のDVD、Blu-rayレコーダーのチューナーを使って、コンポジットでつなげば、Macの画面の中にテレビの映像 を映すこともできます。アナログ信号で入力ですから、プロテクトなどは関係なく、自由にコピーができます。ゲームはしないけど、テレビをiMacや MacBookなどで観たいという向きには、これが第一選択でしょう。
付属ソフトもまともなので、意外とおすすめです。それに、とにかく安い!!
調べものをしていて、30分ほどしてわからないことは、そのあと5時間費やしてもわからない』という話もありますので、ひとまず横に置いて先に進みます。
int retVal = UIApplicationMain(argc, argv, nil, nil);
で、こいつがmain関数の本体。
UIApplicationMainの実行です。

コイツを実行すると、
同じくxcodeに含まれる「info.plist」というプロパティリストの中の、
「Main nib file base name」に設定されているxibファイルが呼び出されます。

Hello, Wolrd!では「MainWindow.xib」が登録されています。
で、このMainWindow.xibが呼び出されると、
そこに設定されている「HelloWorldAppDelegate」の「applicationDidFinishLaunching」が呼ばれ、
アプリケーションが初期化されるわけです。


…。


とりあえず。

main関数を呼ぶと、
Windowが初期化されて、
AppDelegateが呼ばれる。


くらいにしておきましょう。
たぶんそのくらいで充分です。
戻り値の型 関数名(引数1の型 引数1の名前, 引数2の型 引数2の名前){
です。

整数型の戻り値を持つmainという関数を設定
-引数1は整数型の argc
-引数2は文字型のポインタ配列※ *argv[]
int main(int argc, char *argv[]) {
あれ?何この書き方。と思ったアナタ。

正解。

ここに来てまさかの裏切り。
コレ、C言語で関数を定義する書き方です。
- (void)applicationDidFinishLaunching:(UIApplication *)application {
メソッドの実装です。
applicationDidFinishLaunchingというメソッドはUIApplicationDelegateの中で宣言されていますので、ヘッダーの方には何も書いていませんでした。
実装はちゃんとやらないといけないのでココに書きます。

UIApplicationDelegate:ヘッダーファイルのプロトコルで宣言済み
ココ:〜.m ファイルのこと
基礎からのiPhone SDK

ア プリケーションが起動した時や終了した時に、アプリケーション固有の動作を行う必要がある場合があります。このような時に処理を依頼するオブジェクトのこ とをデリゲートと呼びます。デリゲートとは「代理人」というような意味の言葉です。デリゲートの仕組みは、アプリケーション以外のオブジェクトでも遣われ るため、アプリケーションに対するデリゲートを、特にアプリケーションデリゲートと呼んで区別します。
なんとなく、うっすらと読めた気がしますよね。


しません?
そもそも「ジャーンプの変換ができないよ」って思ってます?

大丈夫です。百パー大丈夫です。
メソッドの意味なんてググればだいたい見つかります。

大事なのは「あとはメソッドの意味を調べるだけ」ってところまで辿り着けるかどうか、
つまり、この変換がパッとできるかどうか。
ここまでくれば1行目の激ムズコードにもチャレンジしてしまいましょう。

ホップ
[[MyViewController alloc] initWithNibName:@”HelloWorld” bundle:[NSBundle mainBundle]];

ステップ
[[MyViewControllerさーん allocしてー!] その結果をinitWithNibName(引数1 @”HelloWorld”)(引数2 bundle:[NSBundleさーん mainBundleしてー!]してー!];

ジャーンプ
[[MyViewControllerさーん インスタンス用のメモリを確保してー!] その結果を初期化(引数1 HelloWorldって名前のXibファイルで)(引数2 xibファイルにアクセスするバンドルはコレ使って:[NSBundleさーん バンドルを生成してー!]してー!];

なんとなく、うっすらと読めた気がしますよね。
じゃ、ホントに読めるかやってみましょう。

ホップ
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackOpaque];

ステップ
[[UIApplicationさーん sharedApplicationしてー!] その結果をsetStatusBarStyle(引数 UIStatusBarStyleBlackOpaque)してー!];

ジャーンプ
[[UIApplicationさーん アプリケーションのインスタンスを取得してー!] その結果をステータスバーのスタイルを(引数 黒いタイプ)にしてー!];

読めたー!
[[オブジェクト名 メソッド名1] メソッド名2]

こんな感じです。内をやって外をやる。ボディ→ストレートです。

[【オブジェクト】さーん【メソッド】してー!] その結果を【メソッド】してー!]

です。
ここでは1個1個のメソッドの役割を覚えるのではなく、
[カッコ] が出てきたら自動的に [××さん○○して~] に変換するクセを付けられればOKです。
片っ端からパターンにハメてみましょうか。

[MyViewControllerさーん allocしてー!]
[NSBundleさーん mainBundleしてー!]
[aViewControllerさーん releaseしてー!]
[UIApplicationさーん sharedApplicationしてー!]
[myViewControllerさーん viewしてー!]
[windowさーん addSubviewしてー!]
[windowさーん makeKeyAndVisibleしてー!]


ほーら。

なんとなくそんな気がしてきませんか。

試しにメソッド名の方を訳してみましょう。

[MyViewControllerさーん インスタンス用のメモリを確保してー!]
[NSBundleさーん バンドルを生成してー!]
[aViewControllerさーん インスタンスを破棄してー!]
[UIApplicationさーん アプリケーションのインスタンスを取得してー!]
[myViewControllerさーん ビューを取得してー!]
[windowさーん サブビューを追加してー!]
[windowさーん サブビューをレンダリングしてー!]


さらにそれっぽくなってきましたね。