« 2010年1月 | トップページ | 2010年3月 »

2010年2月28日 (日)

『The box Noodle Chin 麻婆豆腐焼そば』を食ってみた♪

電子レンジ専用のカップラーメン。

The box Noodle Chin 麻婆豆腐焼そば

20100220001

横に作り方が。

20100220002

中身を出してみる。

20100220003

麺が半生っぽい。

箱の中にぶちまけて電子レンジでチンする。

そして良く混ぜ合わせて出来上がり。

20100220004

食った感じは、可も無く不可も無く…

と言った感じ。

速攻手軽って所がミソかな。

| | コメント (0) | トラックバック (0)

2010年2月27日 (土)

『仙台辛味噌ラーメン』を食ってみた♪

仙台って親の地元なんで…

名前で買ったのかも?

仙台辛味噌ラーメン

20091115001_2

開けてみた。

20091115002

お湯を入れて4分で完成♪

20091115003

辛味噌は、良い感じ。

でも麺が今一かも…。

とは言え中ほどから気にならなくなった。

美味しゅうございました♪

そう言えば2010年1月1日から
カトキチがテーブルマークになったっけ…。

| | コメント (0) | トラックバック (0)

2010年2月26日 (金)

何となく見かけたので買ってしまった…

最近漫画は、買っていないなぁ~。

って事も無いんだけど…。

アステロイド・イマナーズ 1
純潔のマリア 1

20100214001

石川雅之は、『もやしもん』絡みでつい買い集めてしまう。
この人の漫画、面白いし…。

あさりよしとうに至っては…。

どちらも面白かったよ♪

| | コメント (0) | トラックバック (0)

2010年2月25日 (木)

『大関のものも』を飲んでみた…

最近の日本酒は、何か良くなってきたと思っう。

変な混ぜ物が無くなってきたと思うので買ってみた。

と思ったが…

稲垣吾郎のCM効果なんでしょうかね?

これを何となく買ってしまった?

大関 のものも

20091213001

砂糖が入っていないのを確認して買ったんだけど…

20091213002

原材料:米・米こうじ・醸造用アルコール

なんだけど…

やっぱり大関…

何で大関!?

上記の原料でも美味しい酒を造る酒造メーカーもあるのに…

何でこんな味になるのか?

不思議だ。

謎だ!

と、日本酒の不思議に嵌った…。

PS.

飲み切りましたよ!(汗)

| | コメント (0) | トラックバック (0)

2010年2月24日 (水)

『豚骨つるっとワンタン麺』を食ってみた♪

腹が減ったので食ってみた!

豚骨つるっとワンタン麺

20090912001

スープ粉を入れた時には豚骨独特の臭いがする!

これは、期待大かも?

20090912002

お湯をかけて暫し待つ。

出来上がり!

20090912003

出来た時には、臭いが薄まっているのか
あんまり豚骨って感じがしない。

その代わり食ってみると
焦がしニンニクの味がガンガンする!

最後までニンニクの味です♪(笑)

結構、これはありかも…。

| | コメント (0) | トラックバック (0)

2010年2月23日 (火)

酔いつぶれていました…

今度の飲みの予定が流れたと
ミクシーのメール等でアナウンスがあった。

でも酔いつぶれて返事を送らなかったら…

こちらのコメントに書き込まれてしまった…。(笑)

なのでタイトルは、このままに…。(爆)

たまには、良いかもね。

| | コメント (2) | トラックバック (0)

2010年2月22日 (月)

見付けた!『チキンラーメンMini』!

オフィスグリコ』で『オフィスチキンラーメン』なる
二個入りミニチキンラーメンを食してみたのだが
これが中々良かった♪

でも、『オフィスグリコ』でしか手に入らないのかと思いきや
ダイソー』でも売っていた!

それが、これ!

チキンラーメンMini

20100217003

ちなみに『オフィスチキンラーメン』と違って
こっちは、日清食品のHPに載っている!

20100217004

これならコンビにでも売っていると思うぞ。

20100217005

『オフィスチキンラーメン』との違いは…
・商品名が違う。(笑)
・包装が箱と袋と違う。
・二つ入りと三つ入りと個数が違う。
・麺の包装柄が違う。
・要らないシールが入っているいないで違う。

でも、麺自体は同じっぽい。

『オリジナルチキラーズシール』って…。

20100217007

正直、何に使ってよいのか悩む…。(笑)

コップにすっぽり。

20100217008

2分で完成!

20100217009

食べてみると同じ♪

もしご所望の方は、探してみると見付かるかも?

くしにょさん如何?

| | コメント (2) | トラックバック (0)

2010年2月21日 (日)

『小金井公園』で梅祭り♪

小金井公園に梅を見に行こうとねだられた…。

ので行ってみた。

小金井公園

20100220001

そしたら『第8回小金井公園うめまつり』をやっていた。

20100220002

これとは、別に『2010東京地酒と酒器うつわ祭り
八丈島物産展』もやっていました!

20100220003

『ちょっと一杯コーナー』って素敵過ぎです!

公園は、結構ノンビリで静かな感じですが…

20100220004

遊園地の方では怖いぐらいに子供達が溢れていました…。

第8回小金井公園うめまつり』の入り口!

20100220005

ボランティアのコーナー。

20100220006

丁度、琴の演奏会あったので暫く聞いていました。

20100220007

良いですねぇ~。

梅は、六分咲きと言った感じ?

20100220008

各梅の木に説明が貼ってあって分かり易い。

でも、こんなに梅の種類ってあるのに吃驚。

これの名前は、見忘れた…。

20100220009

こっちは、多分水心鏡(すいしんきょう)ってやつ。

2010022000a

この月影(つきかげ)は、
青みかがっていて不思議な花。

2010022000b

そっから移動して…

既に入り口前からお酒を販売しています!

20100220011

東京地酒と酒器うつわまつり!の入り口。

20100220010

はっきり言って真昼間から飲むしかないでしょう!

って店が並んでいる…。

バスで来れば良かった…。(T_T)

店店に目移りして写真は、取り忘れた…。

なので『えどまる』!(笑)

20100220012

そこで買ったのがこれ!

暴れん棒将軍

20100220020

500円玉で太さの具合が分かるかと…。

計測すると13ミリありました…。

20100220021

何でこんな太い箸を買ったかと言うと…

使い慣れているのがこの太さだから!

20100220022

並べてみると物凄く磨り減っているなぁ~。

わっ!掴んでいる場所が如実に磨り減ってる!

何でこんなブットイ箸を使っているかと言うと
箸の持ち方の矯正に買ったんですよ。

今から十年以上の前に門前仲町の夜店で買ったんだよね…。

おかげで握り箸を矯正できました♪

でも、これ軽いんだよね。

もう一個の方が良かったかな?

PS.

お約束のC57形機関車。

20100220030

| | コメント (0) | トラックバック (0)

2010年2月20日 (土)

当時カッコ良い腕時計、それが『G-SHOCK』だった…

店頭でカッコ良い時計が吊ってあった。

それがG-SHOCKだった。

意外に安かったのでその場で衝動買いしたと思う。

それ以来、ずっと使っていたかと思う。

CASIO G-SHOCK

20100214001

でも、ベルトが切たのでこんな感じの
スタンドを作って置時計として使っていた。

20100211

この頃にプロトレックを買ったんだよね…。

そうこうしているうちにプラのガワが経年劣化して
ボロボロに割れてしまった。

最終的には、ターミネーターみたいに
金属フレームのみになったよ…。(笑)

最終的に電池は、10年近く持ったかと思う。

恐ろしい程の電池の持ちだ。

これは、その金属フレームだけになったのを
1998年頃に秋葉原のカシオサービスセンターに持ち込んで
電池交換とガワとベルトを互換の物を付けたもの。

で、これって何かと思って調べてみた…。

20100214003

裏蓋を見てみる…。

20100214005

CASIO [240] DW-5000 JAPAN B ST.STEEL 200M WATER RESISTANT

これ、初代の『DW-5000C-1A』だ…。

ちょっと嬉しい♪

| | コメント (0) | トラックバック (1)

2010年2月19日 (金)

よもやこんな形でテトリスと再会できるとは…

ちょっと昔の事を調べていたらこんな物を見付けた!

なので速攻で買って来てみた。

TETRiS COLLECTION

20100206001

なんと2006年に発売されている!

実は、アーケードを連続どのぐらい出来るか
交代しながら延々やっっていたら怒られた…。(笑)

20100206002

メガドライブ版は、まさかの発売禁止…。

システムE版は、極少数だったらしく
基盤を探したのだが見付からなかった…。

ゲームセンターでは、見かけたのだけどなぁ~。

そう、この二つに思い入れがあるのだ!

もう出合う事は、無いだろうと思ったのだが…

まさかこんな形で再会できるとは…。

しかもソニーハード用ソフトで売られるとは…。

色んな意味で時代を感じる…。

| | コメント (0) | トラックバック (0)

2010年2月18日 (木)

何か実機用コンパイルでエラーが…

こんなエラーが表示されて先に勧めない…。

>Code Sign error: The identity 'iPhone Developer' doesn't match any valid certificate/private key pair in the default keychain

何のトラブルも無く実行されている方も居るのに…

何が悪いの?

テスト的に作ったプロジェクトも駄目だった…。

承認作業を間違えた?

取り合えず、承認作業を最初っからやり直してみる。

一番怖かったのは、『iPhone Developer Proogram』の
『Certificates』を削除するくだり…。

ライセンスが無効になる事は、無いだろうと思ったけど…
『Recoke』をクリックすると
「関連付けされたもろもろが無効になるよ」
的なメッセージが表示された。

取り合えず実行…。

リンクが切れたかもしれないが登録した内容は、
そのまま残っているみたい。
後で要調整って事なのか?

再度『キーチェーンアクセス』で機体承認作成からやってみる。
『環境設定』の『証明書』内の項目が2つとも『切』に
なっているのを確認。

『認証局に証明書を要求…』で『ユーザーのメールアドレス』は
取り合えず登録したものを記入。

でも『コモンネーム』って何?

最初は、その機材のログイン名が入っているからって何も考えず
『続ける』ってやったけど…

『HowTo』を見るとどうも登録した名前が入るらしい。

英語っぽく『FirstName LastName』で入れてみた。

で『CertificateSigningRequest.certSigningRequest』を
作り直して改めて『Certificates』作った。
で、『developer_identity.cer』をダウンロードして
『キーチェーンアクセス』に登録したら…
今まで『自分の証明書』って所に入らなかったのが入った!

って、これが原因か?

詰まったら『HowTo』を見直そう…。(汗)

なお、最終的に『Certificates』の作り直しでのペナルティは、
『Provisioning 』の『Certificates』のリンクが切れるだけだった。
リンクし直してダウンロードし直して登録しなおせばOK。

後は、『Xcode』の設定エラーだけで一個一個潰していって
無事実機で実行できた…。

めでたしめでたし!

PS.

もっと簡単に設定できるようにして欲しい!
って勝手に思うぞ!

| | コメント (2) | トラックバック (0)

2010年2月17日 (水)

ツイッターなる物を始めてみた…

『え?あの江ぐちが無くなった!?』って記事を読んだ
友人が江ぐちは、『ツイッター』で盛り上がっていたよと教えてくれた。

最近検索してもツイッター内の書き込みがヒットしたりする。
でも先を見るのにログインする必要があったりする。

まあ前から興味があったし、この際だからと登録してみた。

特に待ち合わせに丁度良いかもと考えたのも一つ。

>家で出たよなう!
>電車乗ったよなう!
>アキバに着いたよなう!
>うろうろしているよなう!
>やぶでそば食っているよなう!

ってすれば何処で何やっているか分かるし!www

常に見れるようにする必要があるので
携帯電話にも登録してみた。

で、二日ぐらいの感想…。

ざくざくと書き込みが流れていく…。

ある種、読み物。

電車待ちとかに読むのもありかも…。(汗)

一杯、フォーローしている人って一体どのぐらい読むのか…
そして書くのか…

気軽に増やすと大変にならないのかな?

まあ、そのときは、そのときって事でw

ってミクシーに書き込んだら速攻でフォロー

キタ―――(゚∀゚)―――― !!

つながっているみたいです…。

20100217_2

何となくマイミクさんの一言掲示板ぽくなってきた♪(笑)

PS.

『kouyou』が既に取られていたので『kouyou-z』ってしようとしたら
記号は、入らないのね…。
ちょっと悲しい…。

| | コメント (4) | トラックバック (0)

2010年2月16日 (火)

『札幌ラーメンどさん子』でラーメンを食ってみた♪

友人にパソコンを教えたら礼にラーメンを奢って貰った…。

で行ったのがここ。

札幌ラーメンどさん子

20100213001

三鷹駅から南西の三鷹市上連雀2丁目3辺り。

何かこの店、40年ぐらい前からあるそうだ。

既に老舗!?

そのくせ友人は、入った事がないそうだ…。

個人的には、2~3回ぐらい入ったかな?

炒める火力の調整が上手いのかとても香ばしい匂いがする店。

タンメンを奢って貰いました♪

20100213002

あと、ギョーザも♪

タンメンは、野菜の甘さが出ていて甘くしかもサッパリして美味い♪

餃子もにんにくが利いていてGOOD!

美味しゅうございました♪

機会があればまた来よう♪

| | コメント (2) | トラックバック (0)

2010年2月15日 (月)

ユザワヤ吉祥寺店移転ちょっと前!

店内に移転オープン案内のポスターが貼られるようになった。

ユザワヤ吉祥寺店

20100214001

現店は、2月28日まで。

新店は、4月2日から。

店内は、佳境!

最後のダッシュをかけて激安売り状態!

おもちゃ売り場では、故障しているラジコンが500円で売られていた…。

おお!

あるものは、何でも売るっぽい。

倉庫にあるものをスペースがある限り展示して販売するっぽい。

Nゲージのパーツなんかも殆ど投売り。

「まとめ買いにどうぞ!」とか書いてあった。

でも今回は、屋上に来て見ました。

20100214003

ここは、常設のラジコンコースがある。

この日も盛況でした…。

20100214002

でも一番気になったていたのがこれ♪

金色のクマちゃん♪

20100214004

3メートルあるこの巨大クマは、どうなるのだろう?

これも、売られるのか?

あと、店頭の巨大ヒツジマークもどうなるのだろう?

あれも、売られるのか?

今月末に全ての謎が分かる!(笑)

| | コメント (0) | トラックバック (0)

2010年2月14日 (日)

『Zippoカイロ』って一回幾ら?

この冬、大活躍中の『Zippoカイロ』。

20090111001

『Zippoカイロ』って一回使うと幾らぐらいか気になった。

この注油カップの上の線までで12時間程もつそうだ。

20090111003

しかし、その量がマニュアルに書いてない!

そょりゃあ、方手落ちだろう!ちゃんと書いてくれよ!

で、こっちに書いてあった。

★ZIPPOオイル化学発熱充填式★ジッポハンディーウォーマーセット ZHW3F

上の線まで入れると12.5cc程だそうだ。

その量だと12時間でなく、16時間ぐらい持っている感じがするが。

さて、この量から一回分の値段は…

4.5fl(133ml)は、大体200円程。

20090111002_2

133ml÷12.5cc=10.64回
200円÷10回=20円

こりゃ安いかも?

12fl(355ml)は、500円程。

20090111006

355ml÷12.5cc=28.4回
500円÷28回=17.9円

さて、他使い捨てカイロと比較してみる。

ホカロンだと一回幾らぐらいだろう?

ホカロン 30個入り (2入り) ¥2,561

2600円÷(30×2)個=43.33円

ただ、20時間ほどもつので1.6倍。

20円×1.6=32円

『ホッカイロ』より大体10円ぐらい安い。

一回の差だから100回ほど使用すると1000円ぐらい…

12flオイル缶が2本買える…。

って訳で、それなりに安いのが確認できたよ!

あと、12fl一本で大体一月持つ事も確認できた。

あともう一本買っておこうかな。

PS.

デジカメラって結構赤外線を拾うので…

着火状態をカメラで撮ってみた。

20090111007

結構燃えています!

| | コメント (0) | トラックバック (0)

2010年2月13日 (土)

タップのインターバルってどのぐらい?

前回の『タップ数でダイレクトにセレクトしたい…』で
タップインターバルを0.5秒としたが…
実際に0.5秒と明確に書いてあるものが無い…。(汗)

アップルのヘルプにも書いてないっぽい。

でもインターバルが分からん事には、ディレイの設定ができん…。

こっちには、0.5秒だとある。

Double Tap Detection

説明に
「ダブルタップインターバルのデフォルトは、0.5でしょう。
0.2では、早すぎるし1.0では、遅すぎる。」
みたいな事が書いてある。

本当か?

それをどうしたら確認できる?

ゴロゴロ…

ゴロゴロ…

ゴロゴロ…

ピコン♪

タップをプログラムで発生させどのタイミングで
ダブルタップになるか測定する!

ってのは、どうだろう?

まずは、タッチをどう発生させるか…?

色々、大変そうなのでやめ…。(汗)

もっと簡単な方法は無いかなぁ~?

じゃあ、アトランダムにタップを行い
それを計測するのはどうだろう?

これなら簡単に出来そうだ…。

『touchesBegan』に来た時に時間を取得する。
次の『touchesBegan』に来た時の時間と比較する。
タップと認識している、していない時の時間を
ストックしていって最終的にこの辺りと
絞り込む処理を作成してみよう。

『GetTickCount』みたいな関数が無い…!?

タイマースレッドを立ち上げて自前でカウンターを作るのか!?

精度に難がありそうだけど…
取り合えずやってみる。

[TapTestViewController.h]
- ( void )touchesBegan:( NSSet* )touches withEvent:( UIEvent* )event;

[TapTestViewController.m]
...
NSTimer            *timer;
unsigned int tmerCount;
-(void)timerFunc
{
    tmerCount++;
}
...
- (void)viewDidLoad {
    timer = [NSTimer scheduledTimerWithTimeInterval:0.001 target:self selector:@selector( timerFunc ) userInfo:nil repeats:YES];
    [super viewDidLoad];
}
...
//******************************************************************************
//    タッチ処理
//******************************************************************************
//**************************************
//    Work
//**************************************
unsigned int    countBackup;
unsigned int    onTap;
unsigned int    noTap    = 10000;
//**************************************
//    touchesBegan
//**************************************
- ( void )touchesBegan:( NSSet* )touches withEvent:( UIEvent* )event
{
    unsigned int    between;
    int                tap;
    UITouch            *touch        = [touches anyObject];

    between        = tmerCount - countBackup;
    countBackup    = tmerCount;
    tap            = [touch tapCount];

    if( tap > 1 )
    {// 連続タップ
        if( onTap < between )
            onTap    = between;
    } else
    {// 非連続タップ
        if( noTap > between )
            noTap    = between;
    }

    char            string[512];
    sprintf( string, "taps:%2d\nget sec:%4d\non sec:%4d\nno sec:%4d", tap, between, onTap, noTap );
    [infoTextView setText:[NSString stringWithUTF8String:string] ];
}

//******************************************************************************
//    End
//******************************************************************************

で試しに動かしてみた…。

※シミュレータでの動作だけどね…。

でこんな感じになった。

20100211001

あれ?

0.6秒を連続タップと認識するのか?

でも0.4秒をシングルタップって認識する?

もしかしてタップインターバルが変動している?

連続タップした時の間から次のタップインターバルを
算出しているのならインターバルの定数が無いのもうなずける。

早く連続タップすると次のシングルタップ判定の
インターバルが0.5を切るみたいだし…。

本当にそう言う処理をしているか謎だけどね。

単に精度が悪いって事もあるけどね…。

実記じゃなくシミュレータってのも多分に影響しているだろうし。

でも個人差をこう言う形で吸収しているのなら凄いかも…。

音楽ゲームやタイミングゲームでタップを主体にした
ものは、誤作動するかもしれないのでこの方式は取らない方が無難そうだ。

でもタップインターバルは、0.5秒辺りに収束するっぽいので
0.5秒で良いんじゃない?

で、結論は…

0.5秒って事にしよう♪

てす…。

PS.

試しにタップ回数ごとの時間を取ってみた。

20100211002

他にソースをこんな感じに直して
ダブルタップ限定で時間を取得してみた。

    if( tap == 2 )
    {// 連続タップ
        if( onTap < between )
            onTap    = between;
    } else
    if( tap == 1 )
    {// 非連続タップ
        if( noTap > between )
            noTap    = between;
    }

20100211003

まあ、0.5秒ぐらいが適当かと思う。

まあ、処理を間違えてないければ…

だけどね…。(汗)

サンプルは、こちら。

「TapTest.zip」をダウンロード

| | コメント (0) | トラックバック (0)

2010年2月12日 (金)

タップ数でダイレクトにセレクトしたい…

タップ数で機能を選択でできねぇ~?

ってのたまわれた…。

タップ1回(もしくはタッチ)ならマップ移動で…
タップ2回ならショットで…
タップ3回なら…。
…etc…

どうしたら良いのかね?

途中、ショットとか手を放したら処理として成立するものがあると
上手くいかない…。

最終的に『何回タップしました』って形に結果が来ないと困る…。

取り合えずアップルのヘルプをチョコチョコっと見てみた…。

タップ処理でレスポンダオブジェクトってのは難しいそうだ…
うんぬんかんぬんぐらいしか書いていない…。

もうチョット詳しく書いて欲しいぞ!

サンプルによるとタップしたらスレッドを作って
次のタップが来るかもしれない時間を待つ。
タップが来たら前のスレッドを削除し、そして新しい待ちスレッドを立てる。
タップが来なかったらそのスレッドの処理を行う方法。

でもダブルタップのディレイって幾つなんかね?

探しても見付からないんですけど…。

設定項目も無さそうなので固定値かと思われるのだが…

なんかの関数で得られるのかね?

こっちに結構良いサンプルを見付けた。

Handling Double Taps

ちなみに本のサンプルにも似たようなものがあったよ。

これを細工して幾らでもタップカウントが出来るようにしてみた…。

『View-base Application』でプロジェクトを作って…

[TapsViewController.h]
//--------------------------------------
- ( void )touchesBegan:( NSSet* )touches withEvent:( UIEvent* )event;
- ( void )touchesMoved:( NSSet* )touches withEvent:( UIEvent* )event;
- ( void )touchesEnded:( NSSet* )touches withEvent:( UIEvent* )event;
- ( void )touchesCancelled:( NSSet* )touches withEvent:( UIEvent* )event;

[TapsViewController.m]
//******************************************************************************
//    タッチ処理
//******************************************************************************
//**************************************
//    Work
//**************************************
#define        TAP_INTERVAL        0.5
//--------------------------------------
BOOL            touchStartFlag;            // タッチフラグ
BOOL            touchFlag;                // タッチフラグ
int                touchTaps;                // タップ回数
CGPoint            touchPoint;                // タッチ位置
CGPoint            touchMove;                // タッチ移動量
//**************************************
//    touchInfo
//**************************************
- ( void ) touchInfo
{
    char            string[512];
    int                t, m;
    float            x, y;

    if( !touchFlag )
    {
        t    = 0;
        x    = 0;
        y    = 0;
    } else
    {
        t    = touchTaps;
        x    = touchMove.x;
        y    = touchMove.y;
    }
    m    = touchStartFlag;

    sprintf( string, "taps:%2d\nmx:%f\nmy:%f\nmode:%d", t, x, y, m );
    [infoTextView setText:[NSString stringWithUTF8String:string] ];
}

//**************************************
//    touchesParameterGet
//**************************************
- ( void ) touchesParameterGet:( NSSet* )touches
{
    static CGPoint    pointBackup;
    UITouch            *touch    = [touches anyObject];

    touchPoint    = [touch locationInView:self.view];
    switch( touch.phase )
    {
    case UITouchPhaseBegan:
        touchStartFlag    = TRUE;
        pointBackup        = touchPoint;
        // …何か処理…
        break;

    case UITouchPhaseEnded:
        [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector( touchTapMethod ) object:nil];
        touchFlag    = FALSE;
        touchStartFlag    = FALSE;
        // …何か処理…
        break;

    default:
        if( !touchFlag )
            return;
        break;

    case UITouchPhaseCancelled:
        [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector( touchTapMethod ) object:nil];
        touchFlag        = FALSE;
        touchStartFlag    = FALSE;
        return;
    }

    touchMove.x    = touchPoint.x - pointBackup.x;
    touchMove.y    = -touchPoint.y + pointBackup.y;

    // …何か処理…
    [self touchInfo];
}

//**************************************
//   
//**************************************
- ( void ) touchTapMethod
{
    touchFlag    = TRUE;
    [self touchInfo];
}

//**************************************
//    touchesBegan
//**************************************
- ( void )touchesBegan:( NSSet* )touches withEvent:( UIEvent* )event
{
    UITouch            *touch        = [touches anyObject];

    touchTaps    = [touch tapCount];
    [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector( touchTapMethod ) object:nil];
    [self performSelector:@selector( touchTapMethod ) withObject:nil afterDelay:TAP_INTERVAL];

    [self touchesParameterGet:touches];
}

//**************************************
//    touchesMoved
//**************************************
- ( void ) touchesMoved:( NSSet* )touches withEvent:( UIEvent* )event
{
    [self touchesParameterGet:touches];
}

//**************************************
//    touchesEnded
//**************************************
- ( void ) touchesEnded:( NSSet* )touches withEvent:( UIEvent* )event
{
    [self touchesParameterGet:touches];
}

//**************************************
//    touchesCancelled
//    ※電話の着信などの強制割り込み時に呼ばれます。
//**************************************
- ( void ) touchesCancelled:( NSSet* )touches withEvent:( UIEvent* )event;
{
    [self touchesParameterGet:touches];
}

//******************************************************************************
//    End
//******************************************************************************

分かりきっていると思うけどレスポンスは、悪くなる。

なので入力状態がユーザーに分かるようにする表示の工夫か
もしくは、0.5秒間タッチさせたくなる演出上の工夫が必要かもしれない。

例えば、タップすると『1タップ・2タップ』などタップ数に合わせて
吹き出しをズームさせて注視させるなどが考えられる。
ズームに0.4秒使えばタップ待ちが気にならないのでは?

タップするたびに項目が浮かび上がるでも良いんじゃないだろうか?

まあ、処理の一つとして用意しておくと何かの時に助かるかも…。

って訳でメモ、メモ♪

PS.

自分が困った時用にサンプルもアップしておこう…。(笑)

20100211

「Taps.zip」をダウンロード

| | コメント (0) | トラックバック (0)

2010年2月11日 (木)

腕時計を分解してみた…

片づけをしていたら…

何か箱の奥底から出てきた…

既にバンドも切れて電池も切れた腕時計。

CASIO MULTI ALARM WL-100

20100206001

これ、太陽電池充電なのだが…

日の当たる所に放置しても復活しないんだよね…。

充電池が死んでいるようだ…。

ソーラーパネルが死んでいる可能性もあるけど…。

20100206002

多分これ1995年頃の奴じゃないのかな?

何故かカシオのHPでは、居なかった子になっている…。

そんなに昔の腕時計なんでしょかね?

G-SHOCKなら1983年の初代モデルから載せているのに…。

…って当たり前か…。

兎も角、もう駄目だろうって事で…

分解してみた♪(笑)

20100206003

そしたらネジは、錆び錆び…。

しかも一本しくじった!(汗)

無理やりしくじったネジを回したらネジの頭が捻じ切れた…。(笑)

そしたら中からボタン電池が出てきた…。

20100206004

え?

『SOLAR BATTERY』ってあるけど実は電池駆動?

SONY XR7926W

20100206005

グーグル先生を酷使したら、チョット情報を得られたよ。

CASIO DIGITAL WATCHES.com』には、二次電池と説明がある。

どうやら『ボタン形二次電池、若しくは充電式電池』と言う事らしい。

さらにチェコのカシオ腕計時専門店のHPに電池データシートがあった。

Baterie_tolerance.pdf

これによると『XR7926W』は、1987年11月にリリースで寿命が7年だそうだ。

と言う訳で寿命は、完全に尽きている事が分かった。

多分、この充電池はこの腕時計専用の特注品っぽいので
個人が手に入れることは困難だろう。<※補足を追記

それ以前に『ボタン型充電式電池』自体が特殊部品の部類らしい。

素直にカシオに交換を依頼するのが吉だと思う。

ただし、既に在庫が尽きている可能性が高そう…。

さて、フレーム周りが何か小汚い…。

20100206006

中のムーブメントを外してみた。

20100206007

こりゃあ、かなり汚い…。

フレームの中も結構腐食している…。

20100206008

10気圧防水のはずだが、結構水がジワリジワリ入っているぽい。

結局、寿命だったのね…。

今度は、ムーブメント部分を破壊!

…ではなく、分解をしてみた…。

20100206009

基盤部分も結構逝っているみたい…。

2010020600a

表の赤丸は、太陽電池との接点。

2010020600b

ざっくり液晶も無理やり剥ぎ取った。

2010020600c

最終的にさらに毟り取ってみた…。

2010020600d

とっても楽しめました♪(笑)

片付け、片付け…。

PS.

ちなみにカシオのHPに『修理受付終了製品のご案内』てのがある。

そこには、こう書いてある…。

>基本的に、上記は1995年以降販売開始の修理をお受けできない主な
>製品ですが、ここに記載されていない製品でも補修用性能部品の保
>有期間が終了し、部品がないために、修理をお受けできない製品が
>ございます。(1995年以前に生産した製品は、修理受付を終了して
>おります。)

とあるのでこれは、修理を受け付けてくれない可能性が高いかも…。(汗)

兎も角、駄目元で聞いてみるのが吉でしょう。

2010年2月11日追記----------------

>個人が手に入れることは困難だろう。

と書いたがメーカーのサービスセンターに
在庫があれば実費で小売してくれる事もある。
昔、秋葉原のパナソニックサービスセンターで
MSXのフロップ-ドライブのベルトを実費で買いました…。

ケースバイケースと思うが、問い合わせると手に入るかもしれない。

| | コメント (2) | トラックバック (0)

2010年2月10日 (水)

『はちゅねミク終了証』をもらったよ♪

記事を見ていたらこんなのがあった。

「クロスブリッジよろちゅくね!」――はちゅねミク、NECエレのLSIを解説

で早速やってみた。

Webマガジン100号記念スペシャル企画!よくわかるクロスブリッジ講座!

ただ見るだけ…

で、最後に終了証が貰える♪

20100210

プリント用ボタンが用意されていて印刷できるようになっているのだ!

だから何だと言われると困るのだが…。

たまには、進化したASICに触れるのも良いんじゃない?

PS.

しかし、ミクは引っ張りだこだね。

でもパチンコだけにには、ならないでおくれ…。

| | コメント (0) | トラックバック (0)

2010年2月 9日 (火)

『オフィスチキンラーメン』を食ってみた♪

オフィースグリコ』の中にこれが入っていた…。

オフィスチキンラーメン

20100204001

何でも『オフィースグリコ』限定チキンラーメンらしい…。

日清食品のHPに無かった…。

裏表の絵が異なっていて面白い。

20100204002

作り方を見る。

20100204003

熱湯150ml!

ビールなら一息で飲める量ですね…。

しかも2分って結構出来上がりが早いくねえ?

箱から引っ張り出す。

20100204004

更に剥く!

20100204005

で、カップに入れてみる。

20100204006

お湯を注いで2分で完成♪

20100204007

良く混ぜて食ってみる…。

本家チキンラーメンより美味しいかも?

麺も熱が通り易いように細麺だし

スープも味が濃い目。

それがかなりポイント高いかも♪

6時ぐらいなると小腹が減るので
埋めるのに手軽で丁度良いかも?(笑)

| | コメント (2) | トラックバック (0)

2010年2月 8日 (月)

何かNHKが来ましたよ…。

何かなっと思ったら…

「地デジ電波が来ているかチェックします。」

って事らしい。

アンテナ線を地デジチューナーに接続して
TVにビデオケーブルをつなぐ。

自動チューニングを行いチャンネルを回す…。

ホワイトノイズが画面に流れる…。

どうやら地デジ電波が来ていないんだと…。

まっ、良いか。

NHKに受信料払わなくて良くなるし…。(笑)

でも何でNHK?

地上デジタル推進全国会議とかがやるべきじゃない?

未だにB-CASなんて仕組みの言い出しっぺが誰か分からない。

特にB-CASカードの発行は、民間のB-CAS社に委ねられているのだが
その設立経緯も謎。

謎の組織に金を払うのも個人情報を送るのも気に入らない。

色んな所と合意とあるが合意の前に既にB-CASがあったとの記事もあったりする。
大体、電波整理は、聞いているが他の何かアナウンスあったかな?
著作権協会もB-CASの言い出しっぺでないと言っているし…。

大体、アナログで出来たのがデジタルで出来ないんなら
アナログで良いやん!って思うのだが…?

残念ながら新聞やTVで伝えられないのは
まあ、既に『ジャーナリズムは死んだ』からなのか?

自己批判できない時点で死んだでしょう。

古館がやったら男を上げるかも?

せいぜい『ITmedia』ぐらいでしかアップしていない。

思う所があるので是非読んで欲しいのだが…

取り合えず…

彼らは、お土産を置いていった…。

それがこれ…。

龍馬伝

20100201001

ちなみに『龍馬伝』は、面白い。(笑)

裏を見ると…。

20100201002

>このたびは、お忙しい中、地上デジタル放送の実態
>調査にご協力頂き、ありがとうございました。
>NHKでは、2011年のアナログ放送終了とデジタル
>放送への完全移行に向けた業務に、今回の調査結果
>を役立てさせて頂きます。

とある。

でも、個人的には完全移行は失敗すると思っていたりする。

って言うかB-CASが失敗しろと思っている。

あまりに分からない謎なシステムがB-CASだからね。

実際、B-CASでない方式も現在検討されているので
そちらになって欲しいと思っている。

PS.

もしかしたら間違いがあるかも?

そんな時には、ご指摘お願いします。(汗)

| | コメント (0) | トラックバック (0)

2010年2月 7日 (日)

え?あの江ぐちが無くなった!?

友達の所でだべってたら…

「江ぐちが無くなるってしってる?」と友人…。

「え?あのラーメンの江ぐち?」と俺…。

そいつは、あそこのワンタン麺が好きだそうだ。

俺は、年に一度行くぐらいの店。

まあ三鷹駅前に昔からあるラーメン屋って事で
TVにも紹介されるようになって変わったかと思うけど…。

ラーメン店紹介の本に昔ながらの
ラーメンが食えるって事で行ってみたら
薄暗い店内でうらぶれた主人が新聞読んでいて
うらぶれた客がビールとチャーシューを食っていた…。

そんな、記憶がある。

店内が薄暗いからそう見えたのかもしれないけど…。

それからTVで紹介されたのを見て
何となく行って見たら店員さんが二人になっていた。
店も明るくなって家族連れがラーメンを食っていた。

そんな、記憶がある。

さらに暫くして食いに行くと…
さらにおばちゃんが入って店員が三人になって
客も一杯居て店内も凄く明るくなっていた…。

そんな、記憶がある。

盛り返してきたので、閉店は吃驚。

もしかしたら最後に一杯ぐらい食えるかもと見に行って見た!

お、看板はまだある。

20100206001

…看板のところに何か張ってある…。

なんか、江ぐちの復活を願う張り紙だ…。

降りて店を見てみると…

20100206002

あれ?

開店前かな?

でも、張り紙がある…。

20100206003

>平成二十二年一月三十一日(日)をもちまして
>「中華そば 江ぐち」を閉店させていただきます
>長い間ご愛顧をいただきまして
>まことにありがとうございました
>お客様各位 江ぐち

とある。

もう少し早く知っていれば食えたかも…。

残念…。

とは言え、以前から変わらずあったものが無くなると

ちょっと寂しい。

PS.

店主が高齢のため店をたたんだのかと思ったら
こちらに記事があった…。

ファン大ショック!三鷹の行列ラーメン「江ぐち」閉店

> 昨年12月末、個人で経営していた2代目店主が死去。後継者が見つからなかったため、閉店が決まった。

とある…。

ご冥福をお祈りします。

| | コメント (2) | トラックバック (0)

2010年2月 6日 (土)

『キーチェーンアクセス』で証明書が作れません!(泣)

『iPhone SDK』で『キーチェーンアクセス』ってのが必要らしい…。

1.『アプリケーション』から『ユーティリティ>キーチェーンアクセス』で
  『キーチェーンアクセス』を起動。

2.『キーチェーンアクセス>証明書アシスタント>認証局に証明書を要求...』で
  『CertificateSigningRequest.certSigningRequest』というファイルができる。

らしいのですが…

出来ません…。(泣)

『Mac OS X バージョン 10.5.8』だからか!?

何てことは、無いはず!

何が悪いのだろう…。

出来ないのなら『○○が××なので出来ませんでした!』ぐらい出せ!

などと思いながら『キーチェーンアクセス>環境設定...』を開いてみる。

『証明書』のボタンを押すと…
・オンライン証明書状況プロトコル(OCSP):切
・証明書失効リスト(CRL):切
となっている。

もしかしてこれか?

多分どっかにある『認証局』って所にアクセスする必要があるんでないかえ?

取り合えず、両方とも『切』から『可能な場合に適用』に変更する。

念のため『優先順位:OCSP』としておく…。

おお!

『承認アシスタント』で『鍵ペア情報を指定』が出てきた!

その後、手順通りにやったら出来たよ!

必要なら必要って言えよ!(怒)

と思った…。

でも、その後にアクテベートして『iPhone Developer Program』の
『iPhone Developer Program Portal』内の『Certificates』の
『How To』を見たら…

『off』にしろって書いてあるっぽい…?

試しに『off』にしてやってみると手順通りに作成できた…。

ええ?

これって…

もしかしたら何かで既に証明書を作成してある事を期待していないか?

既にある証明書を使え!

重複して証明書を幾つも作るな!

って感じなのかもしれない…。

だからわざわざ『off』って書いてあるのかも…。

でも証明書を持ってない時も書いて欲しいよ!

ちなみに何か見落としていて書いてあることが
間違っているかもしれないので
その辺は、加味してね…。

なお、その後の登録の『How To』を見たけど…
HPが更新されているのか微妙に言い回しが変わっていて…

難儀しました!(汗)

例えば『Add Certificate -> Request Certificate』だったり…
『Choose File -> 選択…』だったり…
って何故かそこだけ日本語!?

あと『WWDR』を『キーチェーンアクセス』の
何処にインストールするかが書いてなかったり…。

デフォルトだと『ログイン』だからここに入れるのかな?

まあ、別な所にインストールのし直しも削除もできるるので
後で直せば良いか…。

とは言え…

初心者が迷わないようきちんと書けよ!

なんて思いました…。

ちなみに愚痴です…。

| | コメント (0) | トラックバック (0)

2010年2月 5日 (金)

『iPhone』のマルチタッチってどうやったら良いのかね?

マップの拡大縮小や移動にマルチタッチは、どうよ?

ってな話があって…

何となくマルチタッチに対応…。

何となくざっくりソース…。

[EAGLView.h]
//--------------------------------------
- ( void )touchesBegan:( NSSet* )touches withEvent:( UIEvent* )event;
- ( void )touchesMoved:( NSSet* )touches withEvent:( UIEvent* )event;
- ( void )touchesEnded:( NSSet* )touches withEvent:( UIEvent* )event;
- ( void )touchesCancelled:( NSSet* )touches withEvent:( UIEvent* )event;

[EAGLView.m]
- ( id ) initWithCoder:( NSCoder* )coder
{
    ...
    // ※マルチタッチに対応します。
    self.multipleTouchEnabled    = YES;
    ...
}

//******************************************************************************
//    タッチ処理
//******************************************************************************
//**************************************
//    Work
//**************************************
BOOL            touchFlag;                // タッチフラグ
CGPoint            touchPoint;                // タッチ位置
CGPoint            touchMove;                // タッチ移動量
//--------------------------------------
BOOL            touchMultiFlag;            // マルチタッチフラグ
BOOL            touchMultiLock;            // マルチタッチフラグ
CGPoint            touchMultiCenter;        // マルチタッチ中心位置
float            touchMultiLength;        // マルチタッチ距離
CGPoint            touchMultiMove;            // マルチタッチ移動量
float            touchMultiRotate;        // マルチタッチ回転量
//**************************************
//    touchesMultiParameterGet
//**************************************
- ( void ) touchesMultiParameterGet:( NSSet* )touches
{
    static float    lengthBase, rotateBase;
    static CGPoint    centerBase;
    CGPoint            point0, point1, center;
    float            length, rotate, x, y;
    UITouch            *touch;
    NSArray            *array;

    touch        = [touches anyObject];
    array        = [touches allObjects];
    point0        = [ [array objectAtIndex:0]locationInView: self];
    point1        = [ [array objectAtIndex:1]locationInView: self];
    x            = point0.x - point1.x;
    y            = point0.y - point1.y;
    length        = sqrt( x * x + y * y );
    center.x    = x / 2 + point1.x;
    center.y    = y / 2 + point1.y;
    rotate        = atan2( y, x );

    // 初期化
    // ※『touchMultiFlag』で判断しているので注意
    if( !touchMultiFlag )
    {
        lengthBase        = length;
        centerBase        = center;
        rotateBase        = rotate;
        touchFlag        = FALSE;
        touchMultiLock    =
        touchMultiFlag    = TRUE;
    }

    touchMultiLength    = length - lengthBase;
    touchMultiCenter    = center;
    touchMultiRotate    = rotate - rotateBase;
    touchMultiMove.x    = center.x - centerBase.x;
    touchMultiMove.y    = - center.y + centerBase.y;

    printf( "l:%f - r:%f - mx:%f - my:%f\n", touchMultiLength, touchMultiRotate, touchMultiMove.x, touchMultiMove.y );
}

//**************************************
//    touchesParameterGet
//**************************************
- ( void ) touchesParameterGet:( NSSet* )touches
{
    static CGPoint    pointBackup;
    UITouch            *touch    = [touches anyObject];

    // マルチタッチ起動のチェック
    // ※『[touches count]>1』は、『UITouchPhaseBegan』だけでなく『UITouchPhaseMoved』中にも来ます。
    // ※そのためフラグとの組み合わせて起動をチェックしています。
    if( !touchMultiFlag && ( [touches count] > 1 ) )
    {
        [self touchesMultiParameterGet:touches];
        // …何か処理…
    }

    // マルチタッチ処理
    if( touchMultiFlag )
    {
        if( ( touch.phase == UITouchPhaseEnded ) || ( touch.phase == UITouchPhaseCancelled ) )
        {
            touchMultiLock    =
            touchMultiFlag    = FALSE;
            return;
        }
        if( [touches count] <= 1 )
        {
            touchMultiFlag    = FALSE;
            return;
        }
        [self touchesMultiParameterGet:touches];
        // …何か処理…
        return;
    }

    if( touchMultiLock )
        return;

    // シングルタッチ処理
    touchPoint    = [touch locationInView:self];

    switch( touch.phase )
    {
    case UITouchPhaseBegan:
        touchFlag    = TRUE;
        pointBackup    = touchPoint;
        // …何か処理…
        break;

    case UITouchPhaseEnded:
        touchFlag    = FALSE;
        // …何か処理…
        break;

    default:
        if( !touchFlag )
            return;
        break;

    case UITouchPhaseCancelled:
        touchFlag    = FALSE;
        return;
    }

    touchMove.x    = touchPoint.x - pointBackup.x;
    touchMove.y    = -touchPoint.y + pointBackup.y;

    printf( "mx:%f - my:%f\n", touchMove.x, touchMove.y );

    // …何か処理…
}
//**************************************
//    touchesBegan
//**************************************
- ( void ) touchesBegan:( NSSet* )touches withEvent:( UIEvent* )event
{
    [self touchesParameterGet:touches];
}

//**************************************
//    touchesMoved
//**************************************
- ( void ) touchesMoved:( NSSet* )touches withEvent:( UIEvent* )event
{
    [self touchesParameterGet:touches];
}

//**************************************
//    touchesEnded
//**************************************
- ( void ) touchesEnded:( NSSet* )touches withEvent:( UIEvent* )event
{
    [self touchesParameterGet:touches];
}

//**************************************
//    touchesCancelled
//    ※電話の着信などの強制割り込み時に呼ばれます。
//**************************************
- ( void ) touchesCancelled:( NSSet* )touches withEvent:( UIEvent* )event;
{
    [self touchesParameterGet:touches];
}

//******************************************************************************
//    End
//******************************************************************************

※『touchMultiLock』は、タッチする指を二本から一本、一本から二本と変えた時に
初期情報を初期化したいので『touchMultiFlag = FALSE』にします。
このとき『touchMultiFlag = touchFlag = FALSE』の状態が発生します。
さらにタッチする時に『UITouchBegan』まで発生します。
この時『[touches count]<=1』でシングルタッチ処理に流れてしまいます。
『touchMultiLock』でシングルタッチ処理へ流れるのを回避します。

ちなみに二本指の移動は、『iPhoneシミュレーター』で
『option + shift + マウス』でできるそうだ。

こちらに書いてあって助かった…。

[iPhone] iPhone シュミレータでマルチタッチを平行に動かす方法

有難うございます…。

>if( [touches count] == [ [event touchesForView:self] count] )

で最後の指が離れたのをチェックしろってのもあるけど…

3Dエディタのようにウインドウが個別にあってそのウインドウ内の
表示を個別に拡大縮小するのなら必要なのかも?

多分、これには必要無いと思う…。

取り合えず、これでOK!

と思う一方で…

駄目かも…。

あんま調べてないんで…。(汗)

何かバグ見付けたら教えてください…。>誰か…

※シミュレータでしか動作を確認していないんで実機だと駄目かも…。(汗)

PS.

ちなみに、これを作った後に『iPhone OS Reference Library』の
『Touches』ってサンプル見たけど…
全く異なる方式なので参考にならん…。

一応こちらに何となくテストプログラムをアップしてみた…。

「touch.zip」をダウンロード

操作は、こんな感じ…。
■マウスドラッグ
・移動
■option + マウスドラッグ
・拡大縮小
・回転
■option + shift + マウスドラッグ
・移動

詳しくは、ソースを見てちょ…。

2010年2月16日追記----------------

実機で試して見たらバグバグだった…。(汗)

二本以上になったら「event」から情報を得ないと駄目!

って事がわかった…。

でソースの書き換え…。

//******************************************************************************
//    タッチ処理
//******************************************************************************
//**************************************
//    Work
//**************************************
extern    float            scale;
extern    float            rotate;
extern    CGPoint            position;
//--------------------------------------
#define        PI                3.1415926535897932384626433832795
#define        SCALE_RATE        120
#define        MOVE_RATE        80
//--------------------------------------
BOOL            touchFlag;                // タッチフラグ
//--------------------------------------
BOOL            touchSingleFlag;        // シングルタッチフラグ
CGPoint            touchSinglePoint;        // シングルタッチ位置
CGPoint            touchSingleMove;        // シングルタッチ移動量
//--------------------------------------
BOOL            touchMultiFlag;            // マルチタッチフラグ
BOOL            touchMultiLock;            // マルチタッチロックフラグ
CGPoint            touchMultiCenter;        // マルチタッチ中心位置
float            touchMultiLength;        // マルチタッチ距離
CGPoint            touchMultiMove;            // マルチタッチ移動量
float            touchMultiRotate;        // マルチタッチ回転量
//**************************************
//    touchesMultiParameterGet
//**************************************
- ( void ) touchesMultiParameterGet:( UIEvent* )event
{
    static float    lengthBase, rotateBase;
    static CGPoint    centerBase;
    CGPoint            point0, point1, center;
    float            length, rotate, x, y;
    NSArray            *array;

    array        = [[event touchesForView:self] allObjects];
    point0        = [[array objectAtIndex:0]locationInView:self];
    point1        = [[array objectAtIndex:1]locationInView:self];
    x            = point0.x - point1.x;
    y            = point0.y - point1.y;
    length        = sqrt( x * x + y * y );
    center.x    = x / 2 + point1.x;
    center.y    = y / 2 + point1.y;
    rotate        = atan2( y, x );

    // 初期化(※『touchMultiFlag』で判断しているので注意)
    if( !touchMultiFlag )
    {
        lengthBase        = length;
        centerBase        = center;
        rotateBase        = rotate;
        touchSingleFlag    = FALSE;
        touchMultiLock    =
        touchMultiFlag    = TRUE;
    }

    touchMultiLength    = length - lengthBase;
    touchMultiCenter    = center;
    touchMultiRotate    = rotate - rotateBase;
    touchMultiMove.x    = center.x - centerBase.x;
    touchMultiMove.y    = - center.y + centerBase.y;
}
//**************************************
//    touchesParameterGet
//**************************************
- ( void ) touchesParameterGet:( NSSet* )touches event:( UIEvent* )event
{
    static float    scaleBackup, rotateBackup;
    static CGPoint    positionBackup;
    static CGPoint    pointBackup;
    UITouch            *touch    = [touches anyObject];

    // キャンセル時の処理
    if( touch.phase == UITouchPhaseCancelled )
    {
        touchFlag        =
        touchSingleFlag    =
        touchMultiLock    =
        touchMultiFlag    = FALSE;
        return;
    }

    // マルチタッチ起動のチェック
    // ※『[touches count]>1』は、『UITouchPhaseBegan』だけでなく『UITouchPhaseMoved』中にも来ます。
    // ※そのためフラグとの組み合わせて起動をチェックしています。
    if( !touchMultiFlag && ( [[event touchesForView:self] count] > 1 ) )
    {
        [self touchesMultiParameterGet:event];
        scaleBackup        = scale;
        rotateBackup    = rotate;
        positionBackup    = position;
    }

    // マルチタッチ解除
    if( touchMultiLock && ( touch.phase == UITouchPhaseEnded ) && ( [touches count] == [[event touchesForView:self] count] ) )
    {
        touchFlag        =
        touchSingleFlag    =
        touchMultiLock    =
        touchMultiFlag    = FALSE;
        return;
    }

    // マルチタッチ処理
    if( touchMultiFlag )
    {
        if( [touches count] <= 1 )
        {
            touchMultiFlag    = FALSE;
            return;
        }
        [self touchesMultiParameterGet:event];
        scale    = scaleBackup + touchMultiLength / SCALE_RATE;
        rotate    = rotateBackup - touchMultiRotate * 180 / PI;
        position.x    = positionBackup.x + touchMultiMove.x / MOVE_RATE;
        position.y    = positionBackup.y + touchMultiMove.y / MOVE_RATE;
        return;
    }

    if( touchMultiLock )
        return;

    // シングルタッチ処理
    touchSinglePoint    = [touch locationInView:self];
    switch( touch.phase )
    {
    case UITouchPhaseBegan:
        touchFlag        =
        touchSingleFlag    = TRUE;
        pointBackup        = touchSinglePoint;
        positionBackup    = position;
        break;

    case UITouchPhaseEnded:
        touchFlag        =
        touchSingleFlag    = FALSE;
        break;

    default:
        if( !touchFlag )
            return;
        break;
    }

    touchSingleMove.x    = touchSinglePoint.x - pointBackup.x;
    touchSingleMove.y    = -touchSinglePoint.y + pointBackup.y;
    position.x    = positionBackup.x + touchSingleMove.x / MOVE_RATE;
    position.y    = positionBackup.y + touchSingleMove.y / MOVE_RATE;
}
//**************************************
//    touchesBegan
//**************************************
- ( void ) touchesBegan:( NSSet* )touches withEvent:( UIEvent* )event
{
    [self touchesParameterGet:touches event:event];
}
//**************************************
//    touchesMoved
//**************************************
- ( void ) touchesMoved:( NSSet* )touches withEvent:( UIEvent* )event
{
    [self touchesParameterGet:touches event:event];
}
//**************************************
//    touchesEnded
//**************************************
- ( void ) touchesEnded:( NSSet* )touches withEvent:( UIEvent* )event
{
    [self touchesParameterGet:touches event:event];
}
//**************************************
//    touchesCancelled
//    ※電話の着信などの強制割り込み時に呼ばれます。
//**************************************
- ( void ) touchesCancelled:( NSSet* )touches withEvent:( UIEvent* )event;
{
    [self touchesParameterGet:touches event:event];
}
//******************************************************************************
//    End
//******************************************************************************


よもや、クソみそに言った「[[event touchesForView:self] count]」…。
これがキーワードだったとは…。

「touch-new.lzh」をダウンロード

| | コメント (4) | トラックバック (0)

2010年2月 4日 (木)

『黒い豚カレーうどん』を食ってみた♪

飯は、あるがオカズが無い…。

ごそごそ探してみる…。

これを見付けた…。

黒い豚カレーうどん

20091212001

開けてみる。

カレーの匂いがほんのりしてきた。

20091212002

5分待って完成♪

20091212003

カレーです。(笑)

うどんは、それなり。

うどんを食ってからスープをご飯にかけて腹一杯♪

スープもそれなり。

でもご飯にかけるなど便利に食える♪

腹が減っているが、何も無い時に助かったりするかも?w

| | コメント (0) | トラックバック (0)

2010年2月 3日 (水)

『カップスターカレー南蛮』を食う!

ゴソゴソ、カップラーメンを探してみる…。

で、これを見付けた!

カップスターカレー南蛮

20100102001

上から見るとこんな感じ。

20100102002

開けてみる。

20100102004

結構、具沢山。

お湯を入れて若干眺めに4分待って完成♪

20100102005

念入りに掻き回す。

で、食ってみる。

美味しいですよ♪

丁度良い辛さで良い感じ。

足りなければラー油とか入れると良いかも?

ご馳走様です♪

美味しゅうございました♪

やっぱカレー味は、無敵ですね♪(笑)

| | コメント (0) | トラックバック (0)

2010年2月 2日 (火)

明日は、所によって親父が転ぶでしょう…

東京に雪が降ると…

大抵次の日のニュースは…

凍結した路上で横転して怪我をする人のニュース…。

20100201001

ってぐらい雪に弱い街…。

雨から雪に変わったので水分をとっても含んでいる

ぼた雪…。

明日の朝は、間違い無く凍っているはず…。

神田明神前の坂道にある『すべりどめ砂』が活躍するに違いない!

取り敢えず靴底にパターンのある靴に変え行く予定。

| | コメント (0) | トラックバック (0)

2010年2月 1日 (月)

『PROTREK PRT-40』の電池を交換して復活♪

昔、バイクに乗っていた時に方位磁針が欲しくて
買った『PROTREK PRT-40』。

でもバイクに乗らなくなって仕舞いこんでいた…。

久しぶりに見つけたら電池切れで死んでいた…。

20100127001

折角だし電池交換でもして復活させるか…。

そんなに高くないし…。

20100127002

以前、『G-SHOCK』の電池交換を近所の時計屋に持ち込んだら
「防水チェックが出来ないのでメーカーでお願いします。」との事…。

そんな時に秋葉原のカシオサービスセンターを見つけてお願いした。

この時は、電池交換の他にカバーやバンドの交換もお願いしたので
在庫の関係もあって数日かかったて数千円程でだったと思う。

多分電池交換は、三~四千円程だろうとサービスセンターに行ってみた。

ところが以前の場所に見付からない…。(汗)

携帯電話で検索してみた…。<こう言う時に便利である!

カシオ計算機HPにある電池交換サービスを確認すると
土日が休みになっている。(汗)

時計電池交換サービス

そんな馬鹿な!

以前は、土曜日にサービスをやっていたはず!?

と思って電話番号で検索したら…

秋葉原サービスステーション

そしたら土曜日は、営業日!

しかも現在は、別な場所に移転していてた…。

20100127004

立派なビルになっていました…。

入ってみると…

そしたら技術者が不在で出来上がりが月曜以降になるとの事。

ガ━━(゚Д゚;)━━ン!

出来れば今日中に交換して欲しいのだが…

今回は、電池だけなんでできれば…。

と、悩んでいるとなんと『ヨドバシ』を紹介された!

これは、吃驚!

兎も角、防水チェックができるのならヨドバシでも…

と行ってみる事にした。

対応担当者は、とても丁寧に対応してくれてくれました。

有難うございます。

歩いて数分でヨドバシに到着!

20100127005

そしたら腕時計の修理コーナーで防水チェックもOKとの事。

さすがヨドバシ!

修理が多数入っているらしく一時間半程でできるとの事。

お願いして、バッチリ復活♪

20100127003

これで何時でも北が分かります♪(笑)

※補足1※

『秋葉原サービスステーション』のHPの最後に
『※土曜日は、デジタルカメラのクイック修理サービスについては受付けておりません。』
の一文が…。

携帯電話で確認したので最後まで見ていませんでした…。
担当者さんごめんなさい…。

多分似たような人が居るのでしょう…
そこでヨドバシなのかもしれません…。

※補足2※

単に電池交換だけだと千数百円程。
これに防水チェックを入れると三千円程。
パッキンなどの交換もするとプラス数百円程。
修理代の目安のメモ。

※補足3※

実は、プロトレックの裏蓋はネジ止め。
自分でも電池交換は、出来そうなのだが
防水チェックは出来ないのでやっぱメーカーにお願い。

| | コメント (0) | トラックバック (0)

« 2010年1月 | トップページ | 2010年3月 »