Google Maps API for Flash – Geocoding

Geocoding is the process of converting addresses (like “350 West Georgia Street Vancouver, B.C”) into geographic coordinates (like latitude 49.279705 and longitude -123.115625), which you can use to place markers or position the map.

I made a sample which a marker will be displayed if you put address of name of the specific place.

CONTINUE READING

progression4 + Flash CS5 ã§ XMLUtil を使ã†

SceneObject ç­‰ã§èª­ã¿è¾¼ã‚“ã  XML データを扱ã„ãŸã„å ´åˆã€

var obj:Object = XMLUtil.xmlToObject( XMLList(dataHolder.data) );

ã“れã§å•題ãªã„ã¯ãšãŒã‚¨ãƒ©ãƒ¼ãŒå‡ºã‚‹ã€‚Progression フォーラムã«ã‚ˆã‚‹ã¨,

Flash CS5 ã§ã¯ã€æ¨™æº–ライブラリã®ä¸­ã« XMLUtil クラスãŒå¢—ãˆã¦ã„るよã†ã§ã™ã€‚
ãã®ãŸã‚ã«ã€å†…部ã§ä½¿ç”¨ã—ã¦ã„ã‚‹ XMLUtil クラス㌠jp.nium.utils.XMLUtil を指ã™ã¯ãšãŒã€ãƒ‘ッケージパスã®ãªã„ XMLUtil クラスをå‘ã„ã¦ã—ã¾ã„ã€ã‚³ãƒ³ãƒ‘イルエラーã¨ãªã£ã¦ã—ã¾ã£ã¦ã„るよã†ã§ã™ã€‚

XMLUtil.xmlToObject() -> jp.nium.utils.XMLUtil.xmlToObject()

ã¨ã®ã“ã¨ã€‚以下ã®ã‚ˆã†ã«è¨˜è¿°ã™ã‚Œã°å¥½ã„。

var obj:Object = jp.nium.utils.XMLUtil.xmlToObject( XMLList(dataHolder.data) );

鼻毛時計

JAM 用ã«ä½œã‚Šã¾ã—ãŸã€‚ã‚‚ã¡ã‚ん鼻毛を抜ããªãŒã‚‰ã­ã€‚
鼻毛処ç†ã®ãŠä¾›ã«ã©ã†ãžã€‚

鼻毛を抜ã„ã¦ä¸¦ã¹ã¦ã„ãã¾ã™ã€‚0ç§’ã«ãªã‚‹ã¨é¼»è¡€ãƒ–ー(by 谷岡ヤスジ)ã—ã¾ã™ã€‚
当åˆã¯é¼»æ¯ã§é¼»æ¯›ã‚’飛ã°ãã†ã¨æƒ³ã£ã¦ã¾ã—ãŸã€‚鼻毛用ãƒã‚µãƒŸã¯å˜ãªã‚‹é£¾ã‚Šã§ã™ã€‚

音をã¤ã‘ãŸã‚Šã‚°ãƒ©ãƒ•ィックやä½ç½®ã€å‹•ãを調整ã™ã‚‹ã¨ã‚‚ã£ã¨å¥½ã„感ã˜ã«ãªã‚‹ã¯ãšã€‚
7/30 締切らã—ã„ã®ã§ã¨ã‚Šã‚ãˆãšã“ã®ã¾ã¾ã€‚

キャプãƒãƒ£ãŒ fork å…ƒã®ã‹ã‚‰å¤‰ã‚らãªã„ã‚“ã ã‘ã©ä½•故?

TextFieldをマスク

maskã‚’ã‹ã‘ãŸã„ã¨ãã«ã¯ A.mask = B (Aã‚’Bã®ç¯„囲ã§ãƒžã‚¹ã‚¯ã™ã‚‹ï¼‰ã¨ã„ã†ã‚ˆã†ã«ä½¿ã„ã¾ã™ã€‚

var tf:TextField = new TextField();
tf.text = "ãŠé¡˜ã„ï¼ãƒžã‚¹ã‚¯ã—ã¦ï¼ãŠé¡˜ã„ï¼ãƒžã‚¹ã‚¯ã—ã¦ï¼ãŠé¡˜ã„ï¼ãƒžã‚¹ã‚¯ã—ã¦ï¼ãŠé¡˜ã„ï¼ãƒžã‚¹ã‚¯ã—ã¦ï¼ãŠé¡˜ã„ï¼ãƒžã‚¹ã‚¯ã—ã¦ï¼ãŠé¡˜ã„ï¼ãƒžã‚¹ã‚¯ã—ã¦ï¼ãŠé¡˜ã„ï¼ãƒžã‚¹ã‚¯ã—ã¦ï¼ãŠé¡˜ã„ï¼ãƒžã‚¹ã‚¯ã—ã¦ï¼"
tf.selectable = true;
tf.wordWrap = true;
tf.width = 150;
addChild(tf);

var ball:Sprite = new Sprite();
ball.graphics.beginFill(0xFF0000);
ball.graphics.drawCircle(0, 0, 50);
addChild(ball);
tf.mask = ball;

ã¨ã™ã‚Œã°å¥½ã„ã¯ãšã§ã™ãŒã€ä½•度ãŠé¡˜ã„ã—ã¦ã‚‚ã“ã®å ´åˆå††ã®çŸ©å½¢ã®ç¯„囲ã§ãƒžã‚¹ã‚¯ã•れã¦ã—ã¾ã„ã¾ã™ã€‚
ãã®å½¢ã§ãƒžã‚¹ã‚¯ã™ã‚‹ã«ã¯ 両方ã®cacheAsBitmap ã‚’ trueã«ã—ã¾ã™ã€‚

tf.cacheAsBitmap = true;
ball.cacheAsBitmap = true;

å‚考

1人particle祭り

レベルãŒã‚ã¾ã‚Šã«é«˜ã™ãŽã¦ãƒ“ビりã¤ã¤ãšã£ã¨ã‚µãƒœã£ã¦ãŸwonderflã‚’ã¾ãŸã‚„り始ã‚ã¾ã—ãŸã€‚
パーティクル祭ã«ä¹—りé…れるã“ã¨åŠå¹´ä»¥ä¸Šã€ä»Šæ—¥ã‹ã‚‰ã¡ã¾ã¡ã¾1人パーティクル祭りやã£ã¦ãよー。
第1回目ã®ä»Šæ—¥ã¯ã¨ã‚Šã‚ãˆãšæ”¾å°„ç·šçŠ¶ã«ç™ºå°„。

é…列ã‹ã‚‰é‡è¤‡ã›ãšã«å€¤ã‚’å–り出ã™

最近クイズを作る機会ãŒä½•度ã‹ã‚りã¾ã—ã¦ã€ç·æ•°20å•ã‹ã‚‰7å•ã‚’é‡è¤‡ã—ãªã„ã‚ˆã†æŠœã出ã—ã¦é †ç•ªã«è¡¨ç¤ºã—ã¦ã„ãã¨ã„ã†ã‚ˆã†ãªã“ã¨ã‚’ã—ã¾ã—ãŸã€‚ãã®æ™‚ã«ä½œã£ãŸã‚¯ãƒ©ã‚¹ã§ã™ã€‚

é…列ã‹ã‚‰é‡è¤‡ã›ãšã«n個å–り出ã—ã¦æ–°ã—ã„é…列を返ã™RandomExtractクラス

package
{
	public class RandomExtract
	{
		/**
		 * コンストラクタ
		 *
		 * @access public
		 * @param
		 * @return void
		 */
		public function RandomExtract():void
		{
		}

		/**
		 * ランダムã«é…列ã®å€¤ã‚’å–り出ã™
		 *
		 * @access public
		 * @param array å…ƒã«ãªã‚‹é…列
		 * @param num å–り出ã™é…列ã®å€‹æ•°
		 * @return Array
		 */
		public static function random(array, num):Array
		{
			var a:Array = array;
			var t:Object = {};
			var r:Array = [];
			var l:int = a.length;
			var n:int = num < l ? num : l;
			while (n-- > 0) {
				//é…åˆ—ã®æ•°ã‹ã‚‰ãƒ©ãƒ³ãƒ€ãƒ ãªå€¤ã‚’作æˆ
				var i = Math.random() * l | 0;
				r[n] = t[i] || a[i];
				//  t[i]ãŒundefinedã«ãªã‚‰ãªã„処ç†
				--l;
				t[i] = t[l] || a[l];
			}
			return r;
		}
	}
}

例ãˆã°10個ã®é…列ã‹ã‚‰3個ã®å€¤ã‚’å–り出ã—ãŸã„時ã¯ä»¥ä¸‹ã®ã‚ˆã†ã«è¨˜è¿°ã—ã¾ã™ã€‚

import RandomExtract;

var arr:Array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
var num:int = 3;

var newArr:Array = RandomExtract.random(_arr, _num);
trace(newArr + "ãŒå–り出ã•れるんã ãœ");

å‡ºåŠ›çµæžœã¯ã“ã‚“ãªæ„Ÿã˜ã§ã™ã€‚

2,1,6ãŒå–り出ã•れるんã ãœ

å‚考サイトãŒã‚ã£ã¦ãã“ã®ã‚³ãƒ¼ãƒ‰ã‚’自分ã«åˆ†ã‹ã‚Šã‚„ã™ã„よã†ã«æ›¸ãæ›ãˆãŸã ã‘ãªã®ã§ã™ãŒã€ã©ã“ã ã£ãŸã‹åˆ†ã‹ã‚‰ãªããªã£ã¦ã—ã¾ã„ã¾ã—ãŸã€‚見ã¤ã‘ãŸã‚‰è¿½è¨˜ã—ã¾ã™ã€‚

[9/21 追記]
ムダã«RandomExtractクラスをインスタンス化ã—ã¦ã„ãŸã®ã§randomメソッドをstaticã«ä¿®æ­£ã€‚

FlashVarsã®å—ã‘å–り方

ã€å‚考】
ã€Flash】FlashVarã‚’Flashã§å—ã‘å–ã‚‹(AS3)|atsumo+Flash

以下ã®ã‚ˆã†ã«ã—ã¦å—ã‘å–りã¾ã™ã€‚

var flashVars:Object = loaderInfo.parameters;
for (var i:String in flashVars) {
	_txt.appendText(i + "=" + flashVars[i] + "\n");
}

å—ã‘å–りãŸã„FlashVarsã®å€¤ã®ä¸­èº«ãŒè¤‡æ•°ã‚ã£ã¦ã€ãれãžã‚Œåˆ¥ã€…ã®å ´æ‰€ã«æ ¼ç´ã—ãŸã„以下ã®ã‚ˆã†ãªå ´åˆã«ã¯ã€

nickname=ore&age=10014

for…inループã®å¤‰æ•°éƒ¨åˆ†ã«ã¯Objectã®ãƒ—ロパティåãŒå…¥ã‚Šã¾ã™ã€‚文字列を追加ã—ãŸã„Textfieldã‚’å„プロパティåã«å¯¾å¿œã™ã‚‹å€¤ã¨ã—ã¦æ ¼ç´ã—ã¦ãŠãã“ã¨ã§ã€åˆ¥ã€…ã®Textfieldã«è¿½åŠ ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

var flashVars:Object = loaderInfo.parameters;
var txtData:Object = {nickname:name_txt, age:age_txt};
for (var i:String in flashVars) {
	txtData[i].appendText(flashVars[i]);
}

Progressionã®ContextMenuを表示ã•ã›ãªã„

ã€Progression】å³ã‚¯ãƒªãƒƒã‚¯ã§è¡¨ç¤ºã•れるコンテキストメニューをéžè¡¨ç¤ºã«ã™ã‚‹ã€‚

上記ページをå‚考ã«ä¿ºã‚‚ã‚„ã£ã¦ã¿ã¾ã—ãŸã€‚Index.asã®_onInitã«ä»¥ä¸‹ã®è¨˜è¿°ã‚’追加ã—ã¦ã€

//コンテキストメニューをéžè¡¨ç¤º
Progression.uiContextMenu.enabled = false;
CastObjectContextMenu.enabled = false;
CastButtonContextMenu.enabled = false;

ã“ã®ã¾ã¾ã ã¨ã‚¨ãƒ©ãƒ¼ãŒå‡ºãŸã®ã§import文を追加。

import jp.progression.core.ui.CastButtonContextMenu;
import jp.progression.core.ui.CastObjectContextMenu;

ã“れã§å³ã‚¯ãƒªãƒƒã‚¯ã™ã‚‹ã¨ã€ŒPowered by Progression 3.1.62ã€ã€Œè¨­å®šã€ã€ŒAdobe Flash Player 10 ã«ã¤ã„ã¦ã€ã®è¡¨ç¤ºã«ãªã‚Šã¾ã—ãŸã€‚フォーラムã§ã¯import文を書ã„ã¦ã‚‚ダメã ã£ãŸã¨ã‚ã£ãŸã‘ã©â€¦ä½•ã§ã§ã—ょ。
「å°åˆ·ã™ã‚‹ã€ã ã‘ã¨ã‹å€‹åˆ¥ã«è¨­å®šã—ãŸã„時ã¯ä»¥ä¸‹ã‚’å‚考ã«è¨­å®šã€‚

CastObjectContextMenu – Progression 3.1 – API Reference
CastButtonContextMenu – Progression 3.1 – API Reference