さよならマウス

2010.08.24(火)

早寝早起きbeshinです。こんにちわ。
長時間作業していると、マウス操作が邪魔くさくなるときがありませんか?
特にコードとか書いてるときに、何か別のアプリを起動するときとか、いちいちマウス握って、カーソル合わせて、ダブルクリック・・・って、わー!だー!とにかく面倒です。
そんなとき、こんなtweetを見つけました。
キーボード>マウス>タッチパネル、どん
どん脳とコンピュータの間が広くなっている
気がする。せっかく脳とコンピューターを
キーボードで直結したのに、わざわざ身体
を伴うタッチはまどろっこしい。
なるほどたしかに。あれってコンピューターとの距離感だったんですね。
とはいうもの、すべてCUIてな感じで操作というのは、ちょいとハードルが高い気がします。
というわけで、少しでもマウスに触れない生活する方法を考えてみました。
まず、使っている人は、すでに使っていると思うのですが、Windowsには「ファイル名を指定して実行」というのがあります。
ショートカットでwin+rを押すと起動します。
たとえば、コマンドプロンプトを起動したければ、名前のところに「cmd」と打つと起動します。メモ帳だと、「notepad」と打つと起動します。
他にも、適当に普段使っているアプリ名を入れると、結構起動します。ファイルのパス名とかをいれると、エクスプローラーが立ち上がって、そのフォルダを表示してくれたりもします。
アプリ名を入れても起動しないものは、環境変数のPathとかを設定します。
いちいちマウスもたなくていいので、少しは楽ですね。
また、ブラウザとかだと、vim風のキーバインド操作が出来る拡張機能とかもあります。
firefoxだと、Vimperatorとか有名ですね。
僕は普段choromeを使っているのですが、Vimiumっていうのがシンプルでいい感じです。
ちなみに、MacだとQuickSilverっていうすばらしいランチャーとかもあります。
いろいろ組み合わせて使うと、ネットやメールくらいならほとんどマウス操作なしで生活できるようになりました。
次はエディタをvimに乗り換えてみようかなあと思ってます。
http://ja.wikipedia.org/wiki/Vim
まだまだ残暑が厳しい季節です。マウスみたいな重たいものはささっと窓から放り投げて、涼しく過ごせばいいんじゃないでしょうか?
それではごきげんよう。

ctrl+A

2010.06.03(木)

なんか面白いのでつくってみたよ。

こちら

参考

http://blog.alice-books.com/tmp/zero.html

http://fichtre.net/yop.html(ちょいエロ注意)

ジェネレータあったら良いのに。

W3CDTF形式の文字列をDate型に変換したい

2010.05.27(木)

こんにちわ。娘がついにつかまり立ちしまして目が離せないbeshinです。

RSSとか扱うときに、日付がW3CDTF形式だとFlashでそのまま使うことができませんよね。

W3CDTF形式というのは、要するにこんな感じで表記されている日付です。
2005-04-23T17:20:00+09:00

new Date(“2005-04-23T17:20:00+09:00″);

とかで、変換してくれたらいいのですが、そうもうまくいかないみたいです・・・

いつもは笑うくらい適当に力技で文字列操作とかしてDate型に変換して扱っていたのですが、as3corelibのDateUtilクラスにparseW3CDTFというstaticなメソッドが用意されてて、簡単にDate型にパースできることにさっき気づきました。世の中便利ですね。

使い方は

var date:Date = DateUtil.parseW3CDTF(“2005-04-23T17:20:00+09:00″);
trace(date)//Sat Apr 23 17:20:00 GMT+0900 2005

簡単でしたね。

今週ものこり少なくなりましたが、一生懸命がんばりましょう。

でわでわ。ごきげんよう。

youtubeの動画URLを探すぜ

2010.04.13(火)

こんにちわ。beshinです。
うちの娘もスクスク育ってます。僕も成長しないといけないので、
Flashばかりではなく、たまには違うことやってみます。

ついこの前のyoutubeのリニューアルに伴い動画へのアクセス方法の仕様が変わりました。
前回のエントリーでインプットでyoutube使って、別の形でアウトプットさせようと企んでいた僕にとっては一大事です。
前はここのCGIをまんま使わせてもらってましたが、仕様が変わって以来うまく動いてないようです…
http://nondelion.com/archives/2009/04/08/2255

他の動画ダウンロード系のウェブサービスも見ても、軒並み停止してるぽいです。

仕方がないので、自分でやってみることにしました。

結論から言うと、今回はうまくいきませんでした。

でも、とりあえずプロセスだけ共有します。(まああんまり役に立たないですが…)

まずはじめに、動画のファイルを調べました。
昔はIEとかのテンポラリアイテムをみてやってましたが、firebug接続でダウンロードの様子を確認できるので楽チンです。
一覧からそれっぽいファイルを探します。

次に、動画へのAPIを確認しました。

http://www.youtube.com/get_video_info自体はのこっているっぽいので、動画のIDを渡してみました。

http://www.youtube.com/get_video_info?video_id=eWp7R_uoWN4
get_video_infoというファイルがダウンロードできるので中身をみます。
いろいろ解析してみると、さっきのダウンロードファイルぽいURLがありますね。

というわけで超適当にPHP買いてURLを表示させてみます。

<?php

require_once “HTTP/Request.php”;
$key = “fmt_stream_map”;
$id = $_GET["id"];
$req =& new HTTP_Request(“http://www.youtube.com/get_video_info?video_id=”.$id);
if (!PEAR::isError($req->sendRequest())) {
$elements_body = split(‘&’,$req->getResponseBody());
}
$querys = array();
foreach( $elements_body as $element ){
$arr = split(‘=’,$element);
$querys[$arr[0]] = $arr[1];
print $querys[$arr[0]].”<br>\n”;
}
$arr = split(‘\||,’,urldecode($querys[$key]));
print ‘<a href=’.$arr[1].’>’.$arr[1].’</a>’;
?>

localhostからアクセスすると、普通にダウンロードできました。

お!とか言って小躍りとかしましたね。

調子にのって、サーバーで確認しました。

失敗です。まあ当たり前っちゃ当たり前。

とりあえず、現状を把握するためにいろいろ試してみました。

firebugのURLをfirefoxで見るとセーフ。
他のブラウザで見るとアウト。(UAが違うから?)

localhostで表示したURLはどのブラウザでみてもセーフ。(リファラーが同じだから?)

サーバー経由でアクセスした場合はどれでもアウト。(リファラーが違うから?)

さてさて、とりあえずリファラーとUAあたりかな?このへんをどうにかできるテクがあればいけそうだけど、今回は断念・・・。

なんかわかったら続き書きます。

ピン子もビックリ

2010.02.23(火)

iPhoneっていうのが便利らしいですね。こんにちわ。こんにちわ。auユーザーのbeshinです。

こんにちわ。

というわけで、空気読まずに別の話をします。

auが提供しているサービスに、最近TVCMとかでよく目にするガンガンメールというものがあります。ピン子がビックリして、どうこういってるやつですね。知らない人のために簡単に説明すると、メールで使用するパケット代が無料になるサービスで、写真や動画の添付もその範囲になります。

http://www.au.kddi.com/pr/price/index.html?did=au_topc_2002

子供が生まれて以来、両親や友達などに写真や映像をメールに添付して送る機会が増えたので嫁共々加入してみました。

さてさて、最近のWebサービスには、メール経由で利用できるものがあるのをご存知でしょうか。
うっすら知ってはいたのですが、この際少し調べて、ガンガン使ってみようかと思いました。

■youtube
まず、youtube。泣く子も黙る動画共有サイトです。
ログイン→動画をアップロードする→携帯電話からアップロードと進んでいくと、専用のメールアドレスが表示されます。
あとは携帯から動画を添付して、そのアドレスにメールを送信すると、My動画に添付した動画がアップされているはずです。
3gp形式をyoutubeがflvに変換してくれます。

■flickr
こちらも泣く子も黙る、写真共有サービスですね。
ログイン→アカウント設定画面→Emailタブ→Your Flickr upload emailに専用のメールアドレスが表示されます。
あとは添付してメールするだけで、photostreamに表示されます。
実際に使ってみてわかったんですが、Flickrって動画もいけるんですね。こちらはmp4形式に変換されてました。

■twitter
泣く子も黙るつぶやきサービスですね。
先日?(大分前ですが)、携帯版もオープンしましたね。
http://twtr.jp
だんだん同じことを書いているのではしょりますが、詳しくは以下のページを
http://blog.twitter.jp/2010/01/blog-post_26.html
こちらも専用のアドレスを取得できるので、そこにメールを送ると、自分のタイムラインにつぶやくことができます。

Webサービスって、ネットに接続して、ログインして、あれこれして、と、なにかとめんどうくさい印象があって、なんだか敷居が高いですが、携帯のメールだけでできる。となると少し手軽な気がします。

メールさえ出来れば参加できるので、アウトプットの方法さえ工夫すれば、いよいようちのオトンやオカンが、サイトを持つ時代がやってきたのかもしれませんね。

そこらへんは、そのうちに考えてみたいと思います。

ちなみに、文中に泣く子も黙る的なことを何度も書いていますが、泣いているうちの娘にWebサービスを見せたところで泣きや気配はありませんでした。

ビットシフトでセンタリングとか久々のCasaとか

2010.01.28(木)

サイコロ当たったわけじゃないけどbeshinです。

Flashでセンタリングさせるときとか、いろいろ2で割ったりとかしてたんですが
ビットシフトでできることをさっき知りました。
なんか圧倒的におしゃれなのでこっちでやろうと思います。

private function _onStageResize(e:Event = null):void {
x = stage.stageWidth / 2 – width / 2;
y = stage.stageHeight / 2 - width / 2;
}
↓↓↓↓↓
private function _onStageResize(e:Event = null):void {
x = (stage.stageWidth >> 1)-(width >> 1);
y = (stage.stageHeight >> 1)-(width >> 1);
}

ちなみにビットシフトについてはあんまり意味がわかってなくて
こうやればこう動くっていうのだけ知ってる感じ。
きちんと勉強しないとだめですね。

あと、Casa libのDistributionがSprite継承してることをさっき知りました。
wrapper系はこれ拡張して使うかんじなんですかね?
class hogehoge extends Distribution的な

http://as3.casalib.org/docs/org_casalib_layout_Distribution.html

でわでわ。

よくつかうものとかの備忘録

2009.11.11(水)

こんにちわ。あいかわらず確変継続中でサイコロ当たりまくりのbeshinです。
いろいろネタは溜まっているので、ちょっとずつ投下していきます。

僕みたいなへっぽこASerがコード書くと、簡単な処理でもなぜかif文だらけになったり、動くけどすごく複雑になっちゃったり、そういうことって多々あります。

でも案外便利な関数が用意されていて、それらをちょっと応用することで、すごく簡潔に書けることってたくさんあるんですね。

毎回過去のコードを参照してコピペするのが面倒くさくなったので備忘録としてメモっておきます。

■一定の数までカウントがアップすると0に戻る(下の例だと5まで行くと0にもどる)
this._count = (this._count + 1) % 6;

■範囲の限定(0~100まで)
var max:Number = 100;
var min:Number = 0;
this.x = Math.max(min,Math.min(max,this.x));

■配列の値がすべて同じであるかどうか(数値限定)
最大値と最小値を出して比較
最大値
arr.sort(Array.NUMERIC)[arr.length-1];
最小値
arr.sort(Array.NUMERIC)[0];

■配列の複製
var arr:Array = [10, 8, 9, 5, 2, 3, 4, 6, 7];
var arr2:Array = arr.slice();
sliceは配列の一部を切り取って、別の配列として返す。

■テキストフィールドのアルファ
Flashフォントの埋め込みをしないと、テキストにアルファがかからない。と思っていました。
blendMode = BlendMode.LAYER;
TextFieldの親コンテナにBlendMode.LAYERを指定すると、普通にいける。
via:http://wonderfl.net/code/7beb8650734b794c73fde3cc45f96a93acc05fb1

■PV3Dのオブジェクトのピッタリ狙った位置とサイズに2Dのムービークリップを重ねる技術
Camera3D の focus * zoom がちょうどスクリーン座標と 3D 座標が一致する距離。
this._camera.z = this._camera.focus * this._camera.zoom;

■Camera3Dの簡単設定
対象のtoransformコピーして、rotationしてmovieBackfoword!
var target:DisplayObject3D;
var distance:Number = 100;
this._camera.transform.copy(target.transform);
this._camera.moveBackward(distance);

そういえば娘が生まれました。百絵っていいます
主に笑ったり泣いたりウンチしたり寝たりしています。

package{
public class Momoe extends Beshin{
public function Momoe(){}
public function 泣く(){trace(“あーーーーー”)}
public function 笑う(){trace(“あうあうあう”)}
private function ウンチ(){trace(“ぶりぶりぶり”)}
private function 寝る(){trace(“ZZZ・・・”)}
}
}

Union Platformを試すんだぜ

2009.10.07(水)

娘が生まれました。beshinです。
あまりにもかわいいです。

Union Platformを触ってみました。久々のwonderflです。
FMSとか、実はほとんど触ったこと無かったので、比べてどうよ。みたいな話にはならないのですが、いろいろ詳しく書いてくれているサイトがあって、見よう見まねでやってみました。(あいかわらずの力技ですね)

3人くらいから楽しくなります。ENTER_FRAMEで通信してるのとかはいいのかな・・・

flash on 2009-10-7 – wonderfl build flash online

参考にしたサイト

いろいろぶんかい

2009.09.30(水)

サイコロよく当たるなあ。beshinです。

今回は分解です。
分解って楽しいですよね。元に戻せないところとかも含めて楽しいですね。

というわけで色分解です。
なんか思ったより簡単にできたんですが、ベースの色とBlendModeによって、RGBに分解されたり、CMYに分解されたり、これはこういうもんなんでしょうか・・・結果はうまいこといったんですが、実は理屈があんまりわかってません。

あんまりわかってません。

とりあえず、読み込んだjpg画像を読み込んで、copyChannelで分解したbitmapDataを配列に格納して、matrix変形を加えながらdrawしてる感じです。

■RGB(クリックすると分解します)

This movie requires Flash Player 9

■CMY(クリックすると分解します。ところでKはどこだ?)
This movie requires Flash Player 9

ビルかわいいよビル

ドット絵

2009.09.16(水)

こんにちわ。涼しくなってきたので全力で自転車をこぐbeshinです。

最近、夕方になるともっぱら公園でのんびりしてます。でも蚊がたくさんいるので

かゆいです。

というわけで、今回はドット絵を描いてみようと思います。
yoshiwebさんのこの記事を読んで、これならプログラムでドット絵書けるんじゃね?と思ったのでやってみました。

flash on 2009-10-8 – wonderfl build flash online

ドット絵といえば、マリオですよね。クリックすると、表示面が入れ替わります。

各ドット絵は配列で管理してます。

例えばマリオならこんな感じですね。各数字が色と関連付けされてます。

var arr:Array = [
[0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0],
[0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0],
[0,0,0,0,2,2,2,3,3,2,3,0,0,0,0,0],
[0,0,0,2,3,2,3,3,3,2,3,3,3,0,0,0],
[0,0,0,2,3,2,2,3,3,3,2,3,3,3,0,0],
[0,0,0,2,2,3,3,3,3,2,2,2,2,0,0,0],
[0,0,0,0,0,3,3,3,3,3,3,3,0,0,0,0],
[0,0,0,0,2,2,1,2,2,2,0,0,0,0,0,0],
[0,0,0,2,2,2,1,2,2,1,2,2,2,0,0,0],
[0,0,2,2,2,2,1,1,1,1,2,2,2,2,0,0],
[0,0,3,3,2,1,3,1,1,3,1,2,3,3,0,0],
[0,0,3,3,3,1,1,1,1,1,1,3,3,3,0,0],
[0,0,3,3,1,1,1,1,1,1,1,1,3,3,0,0],
[0,0,0,0,1,1,1,0,0,1,1,1,0,0,0,0],
[0,0,0,2,2,2,0,0,0,0,2,2,2,0,0,0],
[0,0,2,2,2,2,0,0,0,0,2,2,2,2,0,0]
]

今回アニメーションにBetweenAS3を使ってみようと思ったのですが、連打したときの挙動が怪しかったので、いつものようにTweenMaxでトゥィーンしています。
とおもったら、こんな記事が。
これでいけるようになるのかな・・・?

ソースは、papervision3dでCubeにする際の処理がすげえ力技なので、
もうちょい修正してわんだふるにあげるかもしれないです。

追記:10/08wonderflにあげました。