ヤッチマイナシコ

あ、そうそう、なんだっけホラ、アフロのサイト! そんな感じです。

ナシコ
  • 0906
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  

6/30

2点から角度を求める - AS3

2点から角度を求める方法をすぐ忘れるのでメモメモ。

ActionScript 3
// e.y = 終了点 Y
// s.y = 開始点 Y
// e.x = 終了点 X
// s.x = 開始点 X
var rot:Number = Math.atan2(e.y - s.y, e.x - s.x) * 180 /Math.PI;

2009/6/30 - 2:00 | コメント (0)

Category : FLASH AS3

6/24

引越し前10日

色々ありまして広い部屋に引越す事になりました。

仕事がばたついてて平日に片付けられないので
先週の土日でガーッと片付けをしてたら珍品がっ!!


090624_00 ワンダースワンカラー!


あまりの懐かしさに片付けをほっぽりだして電源投入。
090624_01 動いたぁー!!+゜*。:゜+(・∀・)+゜:。*゜+


FF1をちょっとやって満足しました。
ゲームやってる時間より写真を撮る時間の方が多かった気がします···。

グンペイやりたいなー。。。

ワンダースワンカラー本体 FF同梱版 【ワンダースワン】
バンダイ
この商品の詳細を見る(AMAZON)

さて、引越しが楽しみだ!俺の新生活が始まる。

2009/6/24 - 22:57 | コメント (0)

Category : nashiko駄文ゲーム

6/19

当たった!

ドリームで3000円ゲットー!
090619_00
ミリオンは残念ながらはずれた。正直ミリオンの1万円は当たると思ってたんだけどなー。

2009/6/19 - 1:08 | コメント (0)

Category : 祝!

6/14

ターミネーター4見てきた

アクション性が強い映画だったんで映画館で見てよかった!
今までの追いかけ回される感じがちょっと少ないかなとは思ったけどコレはコレで有りなのではないかな。
二人の視点からストーリーが展開していくのがよかったです。
従来のターミネーターだけじゃなくてバイクタイプのターミネーターとかでてくるのが新しいなーと思った。アーマードコア?トランスフォーマー?そんな感じのロボいっぱいです。
ストーリーはなんかありきたりな感じがしました。序盤は良かったんですけどねー。

でも、楽しめる映画でした!!

やっぱ2が一番好みだ。

ターミネーター [DVD]

この商品の詳細を見る(AMAZON)

ターミネーター2 特別編 [Blu-ray]

この商品の詳細を見る(AMAZON)

ターミネーター3 [Blu-ray]

この商品の詳細を見る(AMAZON)

2009/6/14 - 22:36 | コメント (0)

Category : 映画

5/31

Fusionが遅かった理由

つい先日「MacBookを買うぜー!!」と先輩がはりきってたので一緒に実物を見に行ってきました。

店舗に展示してあるMacを触りまくって満足したので帰ろうとしたときにVistaが動いてるMacがあったんです。
Bootcampで立ち上がってるWinと説明しようとしたらFusionで起動してるWinだった。遅いだろなーと思ったら「ええぇぇぇぇっ!!!?」って思うぐらい早かったんです。


なぜだ!!俺んちのはクソおせぇぞ!!?


メニュー辺のところを見まくると「ゲストのサスペンド」の文字が押せる状態になっていた。

その瞬間にFusionの仕様を思い出した。
ゲストのサスペンドが可能...。ということはBootcampのパーティションをマウントしているわけではないと。

Fusionの仕様の話ですが、2パターンの導入方法があるんです。
1つは、Macとは別のパーティションにWInをインストールしてFusionで起動する方法。自分のWinはこの方法で起動していました。Aパターンとします。
090531_00
もう1つは、FusionでWinのイメージを作り起動する方法。店舗のWinはこの方法で起動されていました。Bパターンとします。
090531_01
このBパターンなら高速なのか!?

というわけで自宅に帰って速攻でWinパーティションを削除!
(実際はここで緊急事態が発生し復旧に3日掛かった···。その瞬間は時間が止まる思いでした。)
そしてFusionでWinのイメージを作成して起動したらメチャクチャ早かった!

どうやらAパターンは高速動作しないようです。

まとめ
・FusionでBootcampのパーティションを起動した場合は動作が遅い。(Aパターン)
・Fusionで作成したWinイメージを起動した場合は快適に動作する。(Bパターン)

FusionがあればBootcampしなくてよしっ!!

2009/5/31 - 23:48 | コメント (0)

Category : MacPC

5/26

Zend_Amf_Server x FlashのBMPを保存

昨日に引き続き、Zend_Amf_Serverを使ってデータ送信です。

今日はイメージの保存をやってみました。
BMP保存と書いていますが正確にはPNGとして保存するんですけどね。

イメージデータの保存がこれほど単純に作れるとは恐ろしいです。
今まであーだーこーだ思いながら作ってたのに><

PNGを保存するPHP

PHP
<?php
require_once('Zend/Amf/Server.php');

$server = new Zend_Amf_Server();
$server->setClass('Image');
$response = $server->handle();
echo $response;

class Image
{
 /**
 * @param string name
 * @param array data
 * @return boolean
 */
 public function pngsave($name, $data)
 {
  $success = false;
  if( !is_null($name) && $fp = fopen($name.".png", "w+") )
  {
   fwrite($fp, $data);
   fclose($fp);
   $success = true;
  }
  return $success;
 }

}

?>

BmpをPNGに変換して送信

ActionScript 3
import flash.net.NetConnection;
import flash.net.Responder;
import com.adobe.images.PNGEncoder;

var gateway:String = "http://localhost/zend_amf_img/zend_amf_img.php";
var connection:NetConnection = new NetConnection();
var responder:Responder = new Responder(onResultHandler, onFaultHandler);
connection.connect(gateway);

var bmpd:BitmapData = new BitmapData(200,200,true,0x00000000);
bmpd.draw(this);
var imgByte:ByteArray = PNGEncoder.encode( bmpd );

// phpCall, response, 保存ファイル名, 送信イメージデータ
connection.call("Image.pngsave", responder, "filename", imgByte);

function onResultHandler(evt:Object):void
{
	trace(String(evt));
}

function onFaultHandler(evt:Object):void
{
	trace(String(evt));
}


これだけです。PHPの処理が適当すぎますが保存はできます。
AS3のPNGEncoderはググルとでてきます。

お手軽っすな〜···。

ダウンロードはこちらから

2009/5/26 - 23:26 | コメント (0)

Category : FLASH AS3

5/25

Zend_Amf_Serverを使ってFlashと通信

Zend Frameworkが便利だと思う今日この頃です。
MVCモデルで構築できたり、コンポーネントととして扱うこともできたり。

以前からAMF通信を試そうと思いつつも色々と面倒だったんで後回しにしていたのですが、
このZend FrameworkのZend_Amf_Serverを使うと簡単にできました。
AMFはバイナリ通信(データ圧縮もされる)なので、テキストベースの通信より軽くて早いと言われています。

FLASHとPHPの通信といえばURLVariablesで、この場合ってArrayを渡すだけでも結構大変です。
・Flash Array → JSONエンコード → PHPに送信 → PHP側でJSONデコード → PHP Array

Zend_Amf_Serverを使えば、
・Flash Array → PHPに送信 → PHP Array

単純に書くと上記のような処理になりスッキリします。
これは覚えておいて損はしないのでやってみました。
ほぼ公式のサンプルになってますが以下がソースです。

単純な文字列を送信
AMFデータを受取るPHPの作成

PHP
<?php
require_once('Zend/Amf/Server.php');

$server = new Zend_Amf_Server();
$server->setClass('Greeting');
$response = $server->handle();
echo $response;

class Greeting
{
 /**
 * @param string name
 * @return string
 */
 public function hello($name)
 {
  return 'Hello! ' . $name;
 }
}

?>

AMFデータを送信するFLASHの作成。

ActionScript 3
import flash.net.NetConnection;
import flash.net.Responder;

var gateway:String = "http://localhost/zend_amf_greeting_20090525/amftest.php";
var connection:NetConnection = new NetConnection();
var responder:Responder = new Responder(onResultHandler, onFaultHandler);
connection.connect(gateway);

// 送信データの作成
var data:String = "HOGE";

// AMF送信
// Greetingクラスのhelloメソッドを呼び出す
connection.call("Greeting.hello", responder, data);

function onResultHandler(evt:Object):void
{
	trace(String(evt));
}

function onFaultHandler(evt:Object):void
{
	trace(String(evt));
}
実行するとHello! HOGEとtraceに表示されます。


Arrayを送信

PHP
<?php
require_once('Zend/Amf/Server.php');

$server = new Zend_Amf_Server();
$server->setClass('Greeting');
$response = $server->handle();
echo $response;

class Greeting
{
 /**
 * @param array names
 * @return string
 */
 public function helloAry($names)
 {
  $str = "";
  foreach($names as $key => $val)
  {
   $str .= $val . ",";
  }
  return 'Hello!! ' . $str;
 }

}

?>


ActionScript 3
import flash.net.NetConnection;
import flash.net.Responder;	

var gateway:String = "http://localhost/zend_amf_greeting_20090525/amftest.php";
var connection:NetConnection = new NetConnection();
var responder:Responder = new Responder(onResultHandler, onFaultHandler);
connection.connect(gateway);

var data:Array = new Array("HOGE", "HOGE1", "HOGE2");
connection.call("Greeting.helloAry", responder, data);

function onResultHandler(evt:Object):void
{
	trace(String(evt));
}

function onFaultHandler(evt:Object):void
{
	trace(String(evt));
}

実行するとHello!! HOGE,HOGE1,HOGE2,とtraceに表示されます。

このような感じでArrayも直接渡せます。
Flashからのコール(Greeting.hello)が直感的で分かりやすいのも良いと思います。
NetConnectionのところにエラー系のイベントリスナーsecurityError等を登録した方がいいかもですね。

お試しアレ。

テストファイルのダウンロードはこちら

2009/5/25 - 20:30 | コメント (0)

Category : FLASH AS3

CopyRight 2004 ヤッチマイナシコー! All rights reserved.

Powerd By neustil.com