archive-com.com » COM » N » NITOYON.COM

Total: 757

Choose link from "Titles, links and description words view":

Or switch to "Titles and links view".
  • AS3.0 で 3D プログラミングを1から勉強する (2) - 行列の導入 - てっく煮ブログ
    これだと 1万個の点があっても それぞれに matrix3 を1回ずつ適用するだけでOK 合計1万回の演算で済むことになる ざっくりだけど 座標変換の計算負荷が半分になる ソースコードで書くとこうなる X軸とY軸の周りに回転する行列 var matrix3 Matrix3D new Matrix3D matrix3 rotateY rad1 matrix3 rotateZ rad2 行列を適用 var p3 Point3D matrix3 transformPoint p1 整備結果 イメージは掴めただろうか では 実践編 前回のコードを Matrix3D を使いながら拡張していこう 立方体をいくつも配置してみた コアのコードはこんな具合 回転行列を作成 var matrix Matrix3D new Matrix3D matrix rotateY stage mouseX 180 Math PI matrix rotateZ stage mouseY 180 Math PI 描画 for each var c Cube in cubes c draw canvas graphics matrix まず マウスの位置に応じて 回転する角度を決めて Matrix3D オブジェクトを作成している そのあと それぞれの立方体を表す Cube オブジェクトに Matrix3D オブジェクトを与えて 回転具合を伝えている Cube オブジェクトの draw メソッドでは 与えられた行列に応じて座標変換を行って描画している 前回よりも見た目も凝っているけど Matrix3D を導入したたので行数はあまり変わらない もしかしたら 前回よりも読みやすいかもしれない まとめ 行列は座標変換する魔法の箱 理論が分からなくても イメージを掴みさえすれば ばんばん使っていったらいいんじゃなかろうか 次回 に続く ソースは以下に 95行 要 FIVe3D 2 1 の five3d geom Matrix3D クラスと five3d geom Point3D クラス package import flash display Sprite import flash events Event import five3D geom Matrix3D SWF backgroundColor 0x000000 public class Study3d2 extends Sprite private var canvas Sprite private var cubes Array public function Study3d2 stage scaleMode noScale stage align TL cubes cubes push new Cube 0 0 0 50 cubes push new Cube 0 100 0 20 cubes push new Cube 0 100 0 20 cubes push new Cube 100 0 0 20 cubes push new Cube 100 0 0 20 canvas new Sprite addChild canvas canvas x 250 canvas y 150 stage addEventListener mouseMove changeHandler changeHandler null private function changeHandler event Event void canvas graphics clear 回転行列を作成 var matrix Matrix3D new Matrix3D matrix rotateY stage mouseX 180 Math PI matrix rotateZ stage mouseY 180 Math PI 描画 for each var c Cube in cubes c draw canvas graphics matrix import flash display Graphics import five3D geom Point3D import five3D geom Matrix3D class Cube private var points Array public function Cube x Number y Number z Number len Number var diff Function function f Boolean Number return f len 2 len 2 立方体の頂点8つを作成する for var i int 0

    Original URL path: http://tech.nitoyon.com/ja/blog/2008/06/17/as-3d-lessen2/ (2016-02-13)
    Open archived version from archive


  • Box2dFlashAS3 を使った落ちゲー:ロールケーキプレイイングゲーム - てっく煮ブログ
    ではなく 実写のロールケーキを使った落ちゲーがおもしろい nifty デイリーポータルZ ロールケーキプレイングゲーム 同じ種類のケーキが3つ並ぶと消えるんだけど なんと升目の概念がない 衝突判定を Box2dFlashAS3 を使ってるからこその操作感だ 一発ネタなんだけど意外に面白い 見てたらロールケーキが食べたくなってきた ケーキ屋のサイトにこういうゲームがあったら ついでに通販購入してしまいそうだ せっかくなので便乗してアフィリエイトしとく レビュー件数2500件突破 10万本突破 豆乳ダイエットロール生クリームたっぷりロールケーキ 夏ギフト お中元 お取り寄せ 価格 1 000円 税込 送料別 Tweet 2008年06月10日 編集履歴 ActionScript Box2d Mac 版 Firefox3 正式版の Flash Player は日本語入力できないらしい Flash OOP for AS3 が Amazon で予約開始 Please enable JavaScript to view the comments powered by Disqus comments powered by Disqus About Profile nitoyon にとよん 京都のベンチャー会社勤務 プログラマ たまに趣味でデザイン 詳細 Subscribe twitter nitoyon

    Original URL path: http://tech.nitoyon.com/ja/blog/2008/06/10/p1/ (2016-02-13)
    Open archived version from archive

  • Mac 版 Firefox3 正式版の Flash Player は日本語入力できないらしい - てっく煮ブログ
    ニコニコ動画に日本語のコメント入力できなかったり Ustream で日本語チャットできなかったり とFlash で上で文字入力をするサイトでの問題点が指摘されている 今回のバグとは関係ないけど Windows でも Flash 上での文字入力は使いにくくて 入力中の候補が変な場所に表示されたり Ctrl C でのコピーが失敗したりする そういう前提もあって 昨年の秋に作った 丸ビルRSSリーダー ではテキストボックスは HTML で表示して ExternalInterface 経由で Flash とやり取りするようにした とはいえ Flex とかフル Flash のサイトではどうしようもない 困りましたね norah みんなガンガン Vote しようぜ によると 3 0 1 では修正されるようだけど 関連 Mac版Firefox3ではFlashに日本語入力ができないので Unknown Quality 独自パッチがあたったものを導入する話 ニコニコ動画で日本語入力できない人のためのGreasemonkeyスクリプト 金利0無利息キャッシング キャッシングできます subtech ニコニコだけでもなんとかする話 Tweet 2008年06月10日 編集履歴 ActionScript C の JScriptCodeProvider で JScript NET と仲良くする Box2dFlashAS3 を使った落ちゲー ロールケーキプレイイングゲーム Please enable JavaScript to view the comments

    Original URL path: http://tech.nitoyon.com/ja/blog/2008/06/10/mac-firefox3/ (2016-02-13)
    Open archived version from archive

  • Google Maps を Google Earth 風にする - てっく煮ブログ
    r y 90 r addEventListener change function event Event void var matrix Matrix new Matrix matrix translate WIDTH 2 HEIGHT 2 matrix rotate r value Math PI 180 matrix translate WIDTH 2 HEIGHT 2 map transform matrix matrix r dispatchEvent new Event change mapContainer addChild map private function updateValue value int void var rad Number value 100 60 Math PI 180 var p Number Math sin rad VIEWDISTANCE bmd lock var HW int WIDTH 2 var HH int HEIGHT 2 for var j int HH j HH j var pj Number 1 j p for var i int HW i HW i var x int pj i var y int pj j Math cos rad bmd setPixel i HW j HH getColor x i 1 0x80 y j 1 0x80 0 bmd unlock mapContainer filters new DisplacementMapFilter bmd new Point 0 0 1 2 256 256 color private static function bounds val Number min Number Number POSITIVE INFINITY max Number Number NEGATIVE INFINITY Number return Math max Math min val max min private static function getColor r int g int b int uint return Math floor bounds r 0 255 0x10000 Math floor bounds g 0 255 0x100 Math floor bounds b 0 255 import flash display Sprite import flash events import flash geom Point class ScrollBar extends Sprite public var value int public function ScrollBar value int void value value useHandCursor buttonMode true graphics beginFill 0xffffff graphics lineStyle 0 graphics drawRect 0 2 8 112 graphics endFill var tab Sprite new Sprite tab graphics beginFill 0xffffff tab graphics lineStyle 0 tab graphics drawRect 8 0 24 8 tab graphics endFill tab y value addChild tab addEventListener mouseDown function event MouseEvent void stage addEventListener mouseMove mouseMoveHandler stage addEventListener mouseUp mouseUpHandler mouseMoveHandler event var mouseMoveHandler Function function event MouseEvent void var

    Original URL path: http://tech.nitoyon.com/ja/blog/2008/05/26/google-earth/ (2016-02-13)
    Open archived version from archive

  • Google Maps で地球儀 (2) - てっく煮ブログ
    map key ABQIAAAA6de2NwhEAYfH7t7oAYcX3xRWPxFShKMZYAUclLzloAj2mNQgoRQZnk8BRyG0g m2di3bWaT Ji54Lg map setSize new Point 800 500 map addEventListener MapEvent MAP READY function event void var lng Number 0 var types Array MapType SATELLITE MAP TYPE MapType PHYSICAL MAP TYPE MapType NORMAL MAP TYPE var type int 0 map setCenter new LatLng 0 lng 1 types 0 map disableDragging setInterval function void lng 3 type Math random 0 05 type 1 3 type map setCenter new LatLng 0 lng 1 types type lng lng 360 200 var bmd BitmapData new BitmapData WIDTH HEIGHT false 0 for var j int 0 j RADIUS 2 j var ay Number Math PI 2 Math acos 1 j RADIUS var dy Number RADIUS j RADIUS ay var rx Number RADIUS Math cos ay for var i int RADIUS rx i RADIUS rx i var ax Number Math PI 2 Math acos 1 i RADIUS rx rx var dx Number RADIUS i rx ax bmd setPixel i j getColor dx 3 128 dy 3 128 128 var diff Number HEIGHT 2 RADIUS 2 map filters new DisplacementMapFilter bmd new Point diff diff 1 2 128 128 var matrix Matrix new Matrix matrix translate diff diff map transform matrix matrix addChild map

    Original URL path: http://tech.nitoyon.com/ja/blog/2008/05/23/google-maps-earth2/ (2016-02-13)
    Open archived version from archive

  • Google Maps で地球儀 - てっく煮ブログ
    int 800 private const HEIGHT int 500 private const RADIUS int 200 private var map Map public function GoogleEarthAs3 stage scaleMode noScale stage align TL map new Map map key ABQIAAAA6de2NwhEAYfH7t7oAYcX3xRWPxFShKMZYAUclLzloAj2mNQgoRQZnk8BRyG0g m2di3bWaT Ji54Lg map setSize new Point 800 500 map addEventListener MapEvent MAP READY function event void var lng Number 0 var types Array MapType SATELLITE MAP TYPE MapType PHYSICAL MAP TYPE MapType NORMAL MAP TYPE var type int 0 map setCenter new LatLng 0 lng 1 types type map disableDragging setInterval function void lng 3 type Math random 0 05 type 1 3 type map setCenter new LatLng 0 lng 1 types type lng lng 360 150 var bmd BitmapData new BitmapData WIDTH HEIGHT false 0 for var j int 0 j RADIUS 2 j var ay Number Math PI 2 Math acos 1 j RADIUS var dy Number RADIUS j RADIUS ay var rx Number RADIUS Math cos ay for var i int RADIUS rx i RADIUS rx i var ax Number Math PI 2 Math acos 1 i RADIUS rx rx var dx Number RADIUS i rx ax bmd setPixel i j getColor dx 128 dy 128 128 map filters new DisplacementMapFilter bmd new Point 50 50

    Original URL path: http://tech.nitoyon.com/ja/blog/2008/05/23/google-maps-earth/ (2016-02-13)
    Open archived version from archive

  • Google Maps で航空写真の上に通常地図を重ねる - てっく煮ブログ
    m2di3bWaT Ji54Lg map setSize new Point WIDTH HEIGHT map addEventListener MapEvent MAP READY function event Event void map setCenter new LatLng 35 003759 135 769322 4 i 0 MapType NORMAL MAP TYPE MapType SATELLITE MAP TYPE map addEventListener mapevent movestep changeHandler map addEventListener mapevent moveend changeHandler map addEventListener mapevent zoomend changeHandler var topRight ControlPosition new ControlPosition ControlPosition ANCHOR TOP LEFT 10 10 var c ZoomControl new ZoomControl map addControl c c setControlPosition topRight addChild map maps push map if i 1 var m Sprite new Sprite addChild m map mask m map cacheAsBitmap m cacheAsBitmap true startMaskAnimation m sync position private function changeHandler event Event void if maps length 2 return var me Map event target as Map var other Map me maps 0 maps 1 maps 0 as Map if me getCenter equals other getCenter other setCenter me getCenter if me getZoom other getZoom other setZoom me getZoom private function startMaskAnimation m Sprite void setInterval function void var s Sprite new Sprite s x Math random WIDTH s y Math random HEIGHT m addChild s var r int Math random 300 50 if Math random 0 5 s graphics lineStyle 20 0 1 false none s graphics drawCircle 0

    Original URL path: http://tech.nitoyon.com/ja/blog/2008/05/22/googlemaps-layer/ (2016-02-13)
    Open archived version from archive

  • Google Maps で鈴鹿サーキット Flash版 - てっく煮ブログ
    の Flash 版を作ってみた 題して Google Maps で鈴鹿サーキット試走 Flash 版 JavaScript版に比べて回転するところが目新しい Tweet 2008年05月19日 編集履歴 ActionScript Google Maps SilverlightとFlashをつなぐ JavaScript の関数定義は真っ先に処理される Please enable JavaScript to view the comments powered by Disqus comments powered by Disqus About Profile nitoyon にとよん 京都のベンチャー会社勤務 プログラマ たまに趣味でデザイン

    Original URL path: http://tech.nitoyon.com/ja/blog/2008/05/19/google-maps-racing-flash/ (2016-02-13)
    Open archived version from archive



  •