●メニューへ ●単福へ ●自動車の維持費をシミュレーション ●InDesign JavaScript ノート

Script/switch


switch(myName){
		case "a":reStr= "A";break;
		case "b":reStr= "B";break;
		default:reStr= "";
	}


TOPへ


Script/グローバル関数


_global.setTBoxName=function (){
	tbox2="bbbbb";
}


TOPへ


movieClip/Stageのサイズ


	myH=Stage.height;
	myW=Stage.width;


TOPへ


movieClip/X,Y座標をセット


myX=10;
myY=10;
myNo=eval("_root.mapas."+String(N+15));
setProperty(myNo, _x, myX);
setProperty(myNo, _y, myY);


TOPへ


movieClip/load時にテキストの値を設定


onClipEvent(load){
	this.tbox="abc";
}

tboxというテキストボックスを持つ
movieClipを作成する。


TOPへ


movieClip/オブジェクトの大きさや座標


_root.mapas._xscale
_root.mapas._width
_root.mapas._yscale
_root.mapas._height
_root.mapas._x
_root.mapas._y

こんなふうにしてセット
_root.mapas._x=testX;


TOPへ


movieClip/ダブルクリック


前回にクリックした時間を覚えさせておく。

onClipEvent(mouseUp){
	genkai=50*this._xscale/100
	if(_global.gTime2>new Date().getTime()-300){
		処理。
	}
	_global.gTime2=new Date().getTime();
}


TOPへ


movieClip/ドラッグさせる


onClipEvent(enterFrame){
	 this.startDrag(true);
 }

ムービークリップにのみ可能。
※一度配置したグラフィックをあとで
ムービーに変更しても
アクションを記述できない。


TOPへ


movieClip/現在のフレームの場所


_currentframe


TOPへ


text/textboxに値を入れる


テキストオブジェクトをつくり
ダイナミックテキストにする。
変数名をつけ

変数名="abc...";


TOPへ


はまったところ/Illustratorからの変換


グラデーションやクリッピングパスはうまくいかない。

線はアウトラインしない。

点線はIllustrator10の透明を分割で。
ただし点線が折れ曲がっている部分はうまくいかない。

小さいオブジェクトは変換精度が荒い。拡大して変換し
Flashで縮小する。


TOPへ


はまったところ/オブジェクトの指定


_root.obj1.myBtn._x

とかActionScriptで階層をたどるが
このオブジェクト名はムービークリップまたはボタンの
インスタンス名。
シンボル名は関係ないので要注意。

また間にグラフィックオブジェクトが入っていても
インスタンス名がつけられないので無視される。
レイヤーも関係ない。


TOPへ


はまったところ/オブジェクトの指定


_root.obj1.myBtn._x

とかActionScriptで階層をたどるが
このオブジェクト名はムービークリップまたはボタンの
インスタンス名。
シンボル名は関係ないので要注意。

また間にグラフィックオブジェクトが入っていても
インスタンス名がつけられないので無視される。
レイヤーも関係ない。


TOPへ


はまったところ/ライブラリのシンボルをステージに配置


まずライブラリに登録したムービークリップを右クリックし
リンゲ−ジを選ぶ。識別子をつけActionScript用に書き出す。
シンボル名は関係ないので注意!

_root.mapas.attachMovie("リンゲージ名",String(N+15),N+15);
第2引数は新しいインスタンス名
第3引数は前後関係。これが他のオブジェクトとかぶると前のオブジェクトは消える。


TOPへ


はまったところ/変数からオブジェクトの指定


変数からオブジェクト名を生成してオブジェクトを指定したいが
ObjName="_root.mapas."+myAry2[1];
はエラーになる。

evalを使うとうまくいく。
ObjName=eval("_root.mapas."+myAry2[1]);

どうやらオブジェクト番号をevalで取り出しているのではないだろうか?

こういう重要なことはおっきく書いていてほしい。


TOPへ


サンプル/アクセスカウンター


ライブラリに0〜9の名前でムービークリップを作っておく

1フレーム目//下記のようにPOSTしないと再読み込み時に値が増えない
loadVariablesNum("http://localhost/take/count.cgi", 0, "POST");

2フレーム目//空のフレーム

3フレーム目cnt=String(cnt);
if(cnt.length<1){
	gotoAndPlay(2);//読み込んでいなければ2〜3をループ

}else{
	keta=8-cnt.length;
	ketaStr=new String();
	for(i=0;i<keta;i++){
		ketaStr+="0";
	}
	//cnt2=ketaStr+cnt;
	haichi(ketaStr+cnt);
	stop();
}

function haichi(myStr) {
	//myStr=new String("0000123");
	for(i=0;i<myStr.length;i++){
		buf=myStr.substr(i,1);
		objname="my"+i;
		_root.attachMovie(buf,objname,i);
		num=20+i*22
		//cnt2+=num;
		_root[objname]._x = num;
		_root[objname]._y = 25;
	}
}


#PerlのCGI
#count.txtを用意しておく

#!/usr/bin/perl

open(DATA,"+< count.txt");#読み書きモード
@data=<DATA>;
$data[0]++;
seek(DATA,0,0);#ファイルカーソル移動
print DATA $data[0];
close (DATA);
#入力完了Web表示
print "Content-type:text/html\n\n";
print "cnt=$data[0]";



#PHPの場合
#count.txtを用意しておく
<?php
$filename="./count.dat";
$cntAry=file($filename);
$cnt=$cntAry[0];
$cnt++;
WFILE($filename,$cnt);
print "cnt=".$cnt;

function WFILE($file,$writeTXT){
	$fp=fopen($file,"w");#書き込み	fpはfileの先頭
	if($fp){
		flock($fp,LOCK_EX);
		fwrite($fp,$writeTXT);
		flock($fp,LOCK_UN);#ファイルを閉じる前に実行。
		fclose($fp);
	}
	#chmod($file,0766);
}

?>


TOPへ


外部と交信/JavaScript呼び出し


getURL("javascript:OPENSPOT('"+obj._name+"',"+obj._x+","+obj._y+")");getURL("javascript:SETHELP('縮小表示します。')");


TOPへ


外部と交信/値を渡す。


myMovie.swf?point=5

とかで呼び出す。
htmlに貼ったFlashに値を渡すには
 <param name="movie" value="map.swf?point=369:377:378:386">


bufp=String(_root.point);
_root.point="";
if(bufp.length>0){
	telPoint(bufp);
	_global.mode=1;
}
cash=String(_root.course);
_root.course="";
if(cash.length>0){
	traceCourse(cash);
	_global.mode=1;
}


TOPへ


配列/split


myAry=Lpoint.split( ":");


TOPへ


配列/配列の数


myAry.length;


TOPへ


配列/連想配列


var myAry = new Array();

myAry[ "name" ] = "takeuchi";
myAry[ "Fname" ] = "toru";
myAry.money = 100;


TOPへ