2009年7月28日火曜日

[自宅鯖] portable ubuntu for windows

前のpendrivelinuxのエントリーから間もないですが、こんな便利なものを発見しました。



PCが一台しかない環境でWindowsLinuxを共存するためには

・VMwareなどの仮想環境を使用する

・HDDの空きスペースにインストールする(デュアルブート)

この2つの方法しかないと思っていたのですが



portable ubuntu for windows



なるものがあるのを知りました。



DLページ

スクショ



これはOSインストール作業不要でUSBなど外部メディアからも起動が可能です。

windows操作中にも起動が出来るため、環境持ち出しはUSBインストール時より簡単かつ確実です。

��USBインストール時はマシンがUSBブートに対応している必要があるため。)



導入作業はいたって簡単。

exeファイルを実行すると解凍されるので、その中のrun_portable_ubuntu.batを実行するだけ



仮想環境を作るより簡単なので、動作確認等に重宝しますね。

これもpendrivelinux同様予定未定ですが、導入したらレポります。



















Ubuntuスタートアップバイブル
4,494円


ここからexeファイルをダウンロード

実行すると解凍場所を聞かれるので、今回はUSBファイルを指定。



123.jpg









解凍が終わったら

フォルダ内のportable_ubuntu.batを実行



セキュリティソフトによって確認ダイアログが出てくるので、自己判断で許可してください。



で、肝心の起動ですが、GUIが起動しない・・・

2009年7月27日月曜日

[自宅鯖] pendrive Linux

usbに入れたubuntuはもっさりだったが

これはどうなんだろう?sa5kl08aでも動くかな?



pendrivelinux



予定は未定ですが、導入したらまたレポりたいと思います。



2009年7月24日金曜日

[PHP] QRコード作成ツール

PHPからQRコードを自動生成する事は可能とは知っていましたが

実際開発に携わったことはないんですよね。



ちょうど一つ前の、へびにょろ(携帯版)のエントリーでQRコードが使えそうだったので



QRコード作成&活用のススメ



こちらを利用させて頂いて、作成しました。



最近ASばかりでPHPから離れつつあるので、自前で作ってみるのも

リハビリがてら良いかもしれない

[Flex] へびにょろ(携帯版)

このエントリーで作ったへびにょろを携帯サイズで作ってみた。








※PCから見ると文字が細かくて見づらいです。



携帯からはこちらからアクセスしてみてください。

もしくは下記を携帯のカメラで読み取ってください。

QR_Code.jpg


今時こんなしょぼいFlashアプリ、誰も利用しないのは重々承知です^^;

いいんですよ。自己満足でも。



こうやって人の目にさらしておけば、もっと早くちゃんとしたモノを作れるようにならなきゃ!って焦るでしょ?w



それでもちゃんとしたものが出来ない時は・・・察してください

2009年7月23日木曜日

[Flex] htmlからflashにパラメータを渡す方法

htmlからflashにパラメータを渡す方法

embedタグのsrc属性にGETパラメータを書く

<embed src="hoge.swf?hoge=hoge">



flash(action script)内での受取方法

this.parameters もしくはApplication.application.parameters



上記

<embed src="hoge.swf?hoge=hoge">

の場合は

this.parameters.hoge

もしくは

Application.application.parameters.hoge

にて取得可能。



swfを吐き出すのをJS経由にして、サーバーで処理した結果やクライアントの情報によって

動的にflashの表示を変化させたりできそう。

2009年7月16日木曜日

[Flex] pieChart

FlexにはpieChartという円グラフを生成するライブラリが搭載されています。

これを使うとごく簡単にきれいなグラフがかけます。



が、Flex SDKのみをインストールした環境下では使用できないようです。

別途Flex Builderが必要になります。



それをついさっき気づいて延々とCanvasにSpriteから起こしたgraphicsを逐一addChildしてた

俺の1時間を返してくれ!!!!



2009年7月15日水曜日

[Flex] Q&Aブログパーツ

あわてて無題、カテゴリ指定無しでエントリしてしまった^^;



action script学習第2弾

Q&Aブログパーツ







外部ファイルとして定義したXML形式の質問ファイルをコンパイル時にMXMLにコンバートさせ

使用しています。

なので、外部ファイルだけ書き換えれば質問の内容もかわるよーって訳じゃござっせん。



本格的にブログパーツ化するなら質問の内容はリモートで読み込むような作りにしないとダメ



とりあえずって事で

2009年7月14日火曜日

[雑記] プログラムソースをブログ等に載せる時に便利なツール

プログラムソースを公開する場合



言語のビルトイン関数などがハイライトされていると閲覧者は見やすくなります。

それを簡単にやってくれるツールを調べてみました。



☆お勧め

Webサービス型(インストール不要)

Arul's Blog

http://www.shockwave-india.com/blog/services/as-highlight2/index.php

⇒ action script用

このエントリーで使わせてもらいました。







クライアントインストール型

SyntaxHighlighter

http://code.google.com/p/syntaxhighlighter/





その他は以下を参照

あなたのソースコードを彩る、Syntax Highlighterまとめ | Blog.37to.net

http://blog.37to.net/2007/06/syntax_highlighter/





2009年7月13日月曜日

[Flex] へびにょろ?

遊びがてらへびにょろ?(正式名称は知らない^^;)をFlexで作ってみた。



キーボードの十字キーで操作します。



既知のバグ

・自身に当たってもゲームオーバーにならない。

・えさが自身に重なって見えない場合がある。

・キーを押すタイミングによっては180度方向転換が出来てしまう

・動作はwindowsXP, VistaのFlash Player 10で確認済み



以上を踏まえた上で、暇つぶしにどうぞー








index.mxml


<?version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:controller="*" width="210" height="250"
paddingTop="3" paddingBottom="3" paddingLeft="10" paddingRight="10" horizontalScrollPolicy="off" verticalScrollPolicy="off">
"controller" />
<mx:Canvas id="mainPanel" width="200" height="200" styleName="mainPanel">
<mx:Label id="getPoint" text="□" width="10" height="10" />
<mx:Label id="charactor" text="■" width="10" height="10" x="0" y="0" />
mx:Canvas>
<mx:Button id="startGame" label="リスタート" />
mx:Application>





controller.as


package controller
{
import flash.display.DisplayObject;
import flash.events.KeyboardEvent;
import flash.events.MouseEvent;
import flash.events.TimerEvent;
import flash.geom.Point;
import flash.ui.Mouse;
import flash.utils.Timer;
import mx.controls.*;
import mx.core.IMXMLObject;
import mx.events.FlexEvent;
import mx.events.*;
public class controller implements IMXMLObject
{
private var v:Main;
private var toArrow:int = 39;
private var t:Timer;
private var cArray:Array = new Array();
/**
* 初期化処理
*/

public function initialized(document:Object, id:String):void
{
v = document as Main;
v.addEventListener(FlexEvent.CREATION_COMPLETE, creationCompleteHandler);
}
/**
* アプリケーション初期化処理
*/

public function creationCompleteHandler(evt:FlexEvent):void
{
v.mainPanel.setFocus();
randomPoint();
v.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDownForMainPanelHandler);
t = new Timer(100);
t.addEventListener(TimerEvent.TIMER, onTimerForCharatorHandler);
v.startGame.addEventListener(MouseEvent.CLICK, onClickStartGameHandler);
t.start();
}
private function onClickStartGameHandler(evt:MouseEvent):void
{
if (!t.running) {
toArrow = 39;
var cnt:int = v.mainPanel.numChildren;
var tgt:int = v.mainPanel.getChildIndex(v.charactor as DisplayObject);
for (var i:int = cnt -1; i > 0; i--) {
if (i != tgt) {
v.mainPanel.removeChildAt(i);
}
}
cArray = new Array();
v.charactor.x = 0;
v.charactor.y = 0;
t.start();
}
}
private function onTimerForCharatorHandler(evt:TimerEvent):void
{
var lbl:Label = new Label();
lbl.text = "■";
lbl.width = 10;
lbl.height = 10;
lbl.x = v.charactor.x;
lbl.y = v.charactor.y;
switch(toArrow)
{
case 37:// ←
if (v.charactor.x - 10 < 0) {
Alert.show("ゲーム終了n" + cArray.length.toString() + "点", "終了");
t.stop();
return;
}
v.charactor.x -= 10;
break;
case 38:// ↑
if (v.charactor.y - 10 < 0) {
Alert.show("ゲーム終了n" + cArray.length.toString() + "点", "終了");
t.stop();
return;
}
v.charactor.y -= 10;
break;
case 39:// →
if (v.charactor.x + 10 >= 200) {
Alert.show("ゲーム終了n" + cArray.length.toString() + "点", "終了");
t.stop();
return;
}
v.charactor.x += 10;
break;
case 40:// ↓
if (v.charactor.y + 10 >= 200) {
Alert.show("ゲーム終了n" + cArray.length.toString() + "点", "終了");
t.stop();
return;
}
v.charactor.y += 10;
break;
}
if (v.getPoint.x == v.charactor.x && v.getPoint.y == v.charactor.y) {
randomPoint();
cArray.push(new Point(v.getPoint.x, v.getPoint.y));
var lbll:Label = new Label();
lbll.text = "■";
lbll.width = 10;
lbll.height = 10;
lbll.x = v.charactor.x;
lbll.y = v.charactor.y;
v.mainPanel.addChildAt(lbll, 1);
}
v.mainPanel.addChildAt(lbl, 1);
cArray.splice(0,0, new Point(v.charactor.x, v.charactor.y));
// 配列の最後のポイントを取得→削除
v.mainPanel.removeChildAt(cArray.length);
cArray.pop();
}
private function onKeyDownForMainPanelHandler(evt:KeyboardEvent):void
{
trace(evt.keyCode);
switch(evt.keyCode)
{
case 37:// ←
//v.charactor.x -= (v.charactor.x != 0)? 10: 0;
if (toArrow != 39) {
toArrow = 37;
}
break;
case 38:// ↑
//v.charactor.y -= (v.charactor.y != 0)? 10: 0;
if (toArrow != 40) {
toArrow = 38;
}
break;
case 39:// →
//v.charactor.x += (v.charactor.x != 190)? 10: 0;
if (toArrow != 37) {
toArrow = 39;
}
break;
case 40:// ↓
//v.charactor.y += (v.charactor.y != 190)? 10: 0;
if (toArrow != 38) {
toArrow = 40;
}
break;
}
}
private function randomPoint():void
{
v.getPoint.x = Math.floor(Math.random() * 20) * 10;
v.getPoint.y = Math.floor(Math.random() * 20) * 10;
for (var i:String in cArray) {
if ((new Point(v.getPoint.x, v.getPoint.y)).equals(cArray[i])) {
randomPoint();
}
}
}
}
}



上記2ファイルを同じ階層に置いてindex.mxmlをコンパイルすればOKです。



2009年7月12日日曜日

[雑記] SoftBank 934SHに機種変更

��、3ヶ月前から携帯の電源が勝手に落ちるようになり、そろそろ変え時かなーと思っていたので

先日ヨドバシカメラで934SHに機種変更してきました。



images.jpg



















一括購入とポイント値引きで約4万円

定価が9万円との事なので約半額。

約半年前に購入した工人舎PC sa5kl08a(¥29800)より高い・・



��MPCより携帯の方が高いってどーよ



値段も去ることながら、待ち時間が異様に長かった!

その日がちょうどiphone3GSの入荷と重なったらしく、変更のやり取りを行うまでに2時間待ち・・

その変更の説明もやたら長くてうんざり。

まぁ今は携帯の料金プラン一つにしても、いろんな制約がついて回ってるようなので、トラブルを

避けるために話しているんだろうけど・・

もっと分かりやすい販売、支払い形態を考えてくれんもんかしら


使用感レビュー



・カメラ高性能

・万歩計がかなり高精度

・個人的にバッテリーメータが常時表示なのは◎

・ベールビュー(横見防止)が内臓されているので、シールを張らなくてもOK

・電池の持ちは思ったより良い



×

・折りたたみヒンジ部がかなり緩い(閉じる時の「パチッ!」が無い←ある意味良い点?)

・目玉のメモリ液晶、最初は珍しいので見ていたが慣れてくるとあまり見ないかも

・手垢が目立ちやすい

・AQUOS携帯の特徴であるスィーベル機能が無いのでカメラ、TV閲覧はし辛い

・ガジェットいらない(天気、バッテリー表示だけで良い)

AIR ウィンドウ操作

stage.nativeWindow.maximize(); は最大化

stage.nativeWindow.minimize(); は最小化

stage.nativeWindow.restore(); は元のサイズ

stage.nativeWindow.close(); は閉じる

2009年7月2日木曜日

[FLASH]FlashDevelop にデザインビューを追加する

 そのままでもコードの補完機能や色分けなど、コーディングに関しては

十分な機能を持つFlash Developであるが、UIを作る際には

コーディング⇒ビルド⇒確認 と多少めんどくさい



それを解決するのがこれ

FlashDesignView



Dream Weaver(綴り間違っているかも・・)のようにmxmlを書きながら同時にデザインを確認できる。

��当然のことながらASでviewを触っている箇所は反映されない)



。。。しかししかししかし



α版という事も起因するのか、静的なmxmlで確認しても

ビルド時に見えるUIと異なってしまう事が。。。



今後に期待、といいたい所だが開発がストップしているのか

約2年前からバージョンが上がっていないようだ



その間FlashDevelopのバージョンもあがっているので対応出来ていないのも

原因の一つかも。。。

[AIR]アプリビルド時にアイコンを指定する

AIRでデスクトップアプリをビルドする際に

他のインストールして実行するアプリ同様に、アイコンを指定できる。



例えばIEであれば

 aa.JPG

   ↑これ



プロジェクトのルートフォルダにapplication.xmlがあるが

そこにパスを設定する。(書式は別途参照)



が、ルートフォルダを基軸にパスを設定するとAIRインストーラー生成時に

画像が見つからないとエラーが出てしまう。

これは実行するswfを元にしているので、binフォルダの中が基底フォルダとなっていた

ので見つからないとエラーが出ていたようだ。