[Papervision3D]リボン
Papervision3Dでリボンです。
やり方としてはPlane内のTriangle3Dの頂点を操作してPlane同士をつながっているように見せています。
・ABCD…のPlaneを用意
・Aの左端をワールド座標へ変換※1
・Bの左端をワールド座標へ変換
・AとBの座標の差を求める
・得られた座標をAのローカル座標A’へ変換
・Aの右端のTriangle3Dの頂点をA’へ移動
・対象Planeを変えて※1へ
Papervision3Dでリボンです。
やり方としてはPlane内のTriangle3Dの頂点を操作してPlane同士をつながっているように見せています。
・ABCD…のPlaneを用意
・Aの左端をワールド座標へ変換※1
・Bの左端をワールド座標へ変換
・AとBの座標の差を求める
・得られた座標をAのローカル座標A’へ変換
・Aの右端のTriangle3Dの頂点をA’へ移動
・対象Planeを変えて※1へ
Flash上のBitmapで画像を生成してjpgで保存
flash2jpg
JPGEncoder.asがいります。
SVNリポジトリ:http://as3corelib.googlecode.com/svn/
function save_jpg(bmd){ var jpg_enc=new JPGEncoder(50); var byte_array=jpg_enc.encode(bmd); url_request=new url_request(phpPath); url_loader=new url_loader(); url_request.contentType="application/octet-stream"; url_request.method=URLRequestMethod.POST; url_request.data=byte_array; url_loader.load(url_request); url_loader.addEventListener(Event.COMPLETE,when_save_done); } function when_save_done(e){ file_name=url_loader.data; tex_in.text=file_name; }
PHP側はこう
<?php $t=time()+72000; $fileName=date("Ymd")."_".date("His")."_".$t.".jpg"; $fp = fopen("../image/".$fileName, 'wb'); fwrite($fp, $GLOBALS['HTTP_RAW_POST_DATA']); fclose($fp); print $fileName; ?>