Site admin: fujis PukiWiki 1.5.4 © 2001-2022 PukiWiki Development Team. Powered by PHP 8.1.29. HTML convert time: 0.012 sec.
C言語で引数なしの関数を書くときに void を書かないのと書くのとで挙動が違うなんて話を聞いたことはないでしょうか? つまり void func() {} と void func(void) {} で挙動が違うという話ですね。 自分も話だけ聞いたことがあったものの2つがどう違うのかはわかっていなかったため、C言語の規格を読みながら何が違うのかを調べてみました。 結果だけ述べると、この2つの書き方は同じように見えて実は明確な違いがあり、引数がない関数を定義/宣言する場合には後者を使うのが適切です。 とは言え、2つの書き方で違いがあるとかほんとかよ?と思う方もいると思うので、まずはこの二つがどう違うのか見ていきましょう。 2つの関数の書き方の違い 早速ですが、以下のプログラムを見てみましょう。 // func_empty.c void func() {} int main(void) { f
このチュートリアルは次の言語で閲覧可能です: 英語, スペイン語このチュートリアルはiOSチュートリアルメンバーの Matthijs Hollemans 氏によって執筆されました。氏はiOSデベロッパー、デザイナーとして活躍しています。興味のある方はGoogle+ and Twitterへどうぞ。 またお会いしましたね。デバッグチュートリアルです。 前回のチュートリアル ではSIGABRT と EXC_BAD_ACCESSのエラーをXcodeのデバッガとエクセプションブレークポイントを使用して解決する方法を紹介しましたね。 でもこのチュートリアルで使用しているアプリは、それでもまだ何か問題があるようです。なかなか思ったように動いてはくれません。何が潜んでいるんでしょうか? 幸運にも、これらの問題を解決する為のテクニックはまだまだあります。そしてこのシリーズパート2ではそれらのテクニックにつ
UITableViewCell内で受け取った値の更新をしようとしたら嵌ったのでメモ。 cellだけ更新したい場合は、reloadRowsAtIndexPaths:withRowAnimation:でcellを指定して UITableView* myTableView = テーブルビュー; for (int i = 行数 - 1; i >= 0; --i) { if (何らかの条件) { NSIndexPath* indexPath = [NSIndexPath indexPathForRow:i inSection:0]; NSArray* indexPaths = [NSArray arrayWithObject:indexPath]; [myTableView reloadRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewR
ぷよぷよの作り方 概要:ぷよぷよの礎となるアルゴリズムをプログラム付きで解説します。 ぷよぷよはアルゴリムが高度なためテトリスで落ちゲーの基礎を習得した方に最適です。 ★☆ 注意 ☆★ この解説は「テトリスの作り方」の差分解説になります。 ぷよぷよ独自の内容中心に解説していきますので、 動作するプログラムを組みたい場合は「テトリスの作り方」も参照して下さい。 またゲーム全体の流れ制御や各種エフェクトについても解説しません(公開しているプログラムをご覧下さい)。 ■とことんぷよぷよ(ソースファイル / 実行ファイルその他) 私が作った作品の実行画面は以下のようになります。 このプログラムには様々な機能が実装されていますが、 ここではこのプログラムからぷよぷよに最低限必要なプログラムを抜粋して アルゴリズム中心に解説していきます。 ■データ構造の復習 一定の大きさを持つマスを単位に処理します。
3Dのオブジェクトを画面に描画するための幾何学的な計算を考えてみましょう。 まず(全ての)基準となる座標系を定めます。これをワールド座標とかグローバル(大域)座標とか 絶対座標とか呼ぶようです。うちではワールド座標と呼ぶことにします。 次にオブジェクトに回転平行移動などを施してワールド座標でのオブジェクトの位置・方向を決定します。 見かたを変えてオブジェクトがオブジェクトに固有の座標系(これをローカル座標と呼びます)を基準として 作られていると考えると、オブジェクトのワールド座標から見た位置・方向というのは ローカル座標のワールド座標から見た位置・方向であり、ワールド座標でのオブジェクトの 位置・方向を決定するというのはローカル座標からワールド座標への変換ということになります。 …わかりづれ〜な。まぁやってることはどっちも同じです。こいつをワールド変換と呼びましょう。 さ
This is an explanation of the boids algorithm explained with the use of pseudocode. It is mostly the standard algorithm as described by Reynolds [1], with a few of my own tweaks thrown in. It should be enough to get you started with programming your own boids simulation and making up your own extra routines. If you have any queries regarding this or have difficulty understanding any parts of the e
証明書を作成する 制作したアプリをお手持ちのiPhoneやiPod touchで動かす為には、iPhone等のデバイス情報を登録する作業が必要になります。この作業がまた煩雑なのですが、このページで順を追って説明します。 まずは、アップルへ送信する為の証明書を作成します。【キーチェーンアクセス】を起動し、プルダウンメニューの【キーチェーンアクセス】から【証明書アシスタント】の中にある【認証局に証明書を要求】を選択します。 証明書情報にADCで登録したメールアドレスと名前を入力します。メールで送信はしないので CA のメールアドレスは空白。「ディスクに保存」と「鍵ペア情報を指定」にチェックを入れる。 ユーザのメールアドレス:ADCで登録したメールアドレス コモンネーム:ADCで登録した名前 CAのメールアドレス:空欄 ディスクに保存:チェック 鍵ペア情報を指定:チェック これで【続ける】をクリ
アドビの新しい Web 制作支援ツールとして Shadow の Labs リリース 1 が Adobe Labs に公開されました。 (Shadow@Adobe Labs) 今回公開された Shadow の主な機能は、以下の 2 つです。 デバイス上の表示の同期 デスクトップ上でコンテンツを表示すると、ネットワーク経由で iOS や Android デバイス上の表示が同期される コンテンツのリモートデバッグ デスクトップから、デバイスで表示中の HTML, CSS, JavaScript を修正。結果は直ぐにデバイス上の表示に反映される サイトの表示確認および修正作業中に、デバイス (閲覧環境) とデスクトップ (開発環境) を行ったり来たりする必要がなくなるため、スマホサイトの開発が効率的になりそうです。 Shadow を使うには、デスクトップ環境とテストのターゲットとなるデバイス、それ
こんにちは。毎年花粉症になりかけている飯塚です。 最近のNode.jsの普及などによってサーバサイドJavaScript界隈が盛り上がっています。 そんなホットなJavaScriptをラクにかつエレガントに書くためのCoffeeScriptという言語をチュートリアル風に紹介します。 何かしらのライブラリを自分で書く程度にJavaScriptで開発している人は絶対に使ったほうがいいと思います。 JavaScriptを知っていれば1-2時間程度で十分駆使できるようになります。 (2011/6/28:@m_satyr様にご指摘頂いた箇所を修正しました。) 目次 CoffeeScriptとは? インストール Hello World 構文 関数 変数展開 Objectの生成 ループ 存在チェック ヒアドキュメント thisのバインド クラス 無名関数 {var} Tips ?の使い分け 存在チェック
使い方がわかったところで、実際に試してみましょう。以下のサンプルでは、合成モードを変更して効果の違いを確かめられます。ついでに描画する図形(パス or ビットマップ画像)、透明度、描画色なども変更できますので、それぞれを組み合わせてどのような効果が得られるかも確認できるようにしておきました。 ※ペンギンの画像は Image * After で公開されていたものを Flickr に保存して利用しています。 ディスティネーション画像の下半分は半透明で描画しています。ただし Opera では画像に対する半透明指定は機能しません。また、透明部分が確かめやすいように背景画像を設定していますが、この背景は CSS の background-image プロパティーによるものであるため、 globalCompositeOperation の影響を受けずに描画されます。ソースは以下のようになっています(簡
イベントのキーコードの取得には event.keyCode event.charCode の二種類があるんだが、keypressイベントとkeydownイベントとで出方が違うことに気付いた。 keypressとkeydownの表す数値は以下の通り keyCodeにはキーを表す特殊コードを表す数値として出る*1 charCodeにはASCII文字コード表に対応した10進数として出る 以下に幾つか試した結果を書くので参考に。ただ、特殊キーに当たりそうな(ex. windows,無変換, IMEオン時の挙動)ものは環境によって異なりそうなので注意。 keypress ASCII文字コードとして認識できるものはcharCodeに出る そうでないものはkeyCodeに出る IMEオン時にイベントが挙がることは期待できない((keyCodeに229で挙がる時と挙がらない時があった)) 押したキー ch
配列をシャッフル、つまりランダムに要素の位置を入れ替えるというのを、sortメソッドを使ってやってみたのだけど、明らかにダメダメなものになってしまった。その後、あーでもないこーでもないと考えたのだけど、算数が得意すぎて頭が痛くなった。ということを某所でぼやいたらはてのくんがコードを見つけてくれた。どうやらFisher-Yatesという有名なアルゴリズムでやると良いらしい。 最初に書いたコードは、 var a = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9); a.sort( function (a, b) { return Math.ceil(Math.random() * 3) - 2; } ); というもの。sortメソッドは、パラメータに与えられた関数が負の値・0・正の値を返すことによって要素の順序を決定するので、その関数がランダムに値を返せばランダ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く