web,direction,planning,graphicdesign

2009年3月30日月曜日

ActionScript まず書いておく事

// ステージを拡大した時にインスタンスを拡大しない
stage.scaleMode = StageScaleMode.NO_SCALE;
// ステージの基準点を左上
stage.align = StageAlign.TOP_LEFT;
// 再生品質を高い
stage.quality = StageQuality.HIGH;
// 右クリックでメニューを表示しない
stage.showDefaultContextMenu = false;

2009年3月27日金曜日

ActionScript ムービークリップインスタンスの動的な追加/削除

二つのプロセスが必要
インスタンスを作成する
インスタンスを表示リストへ追加する


var 変数 : データ型 = new 埋め込みアセットクラス名();

■表示

表示オブジェクトコンテナ.addChild(インスタンス);

■削除

表示オブジェクトコンテナ.removeChild(インスタンス);


例)

var newStar:MovieClip = new Star();
this.addChild(newStar);


クラスを文字列で指定する場合

var className:String = "Star";
var myClass:Class = getDefinitionByName(className) as class;
var newStar:MovieClip = new myClass();

2009年3月26日木曜日

ActionScript URLRequestクラス

var 変数:URLRequest = new URLRequest (リクエストファイルのURL);

navigateToURL(URLオブジェクト,"ターゲット");

ActionScript Arrayオブジェクト

var aMembers:Array = new Array();
aMembers[0] = "hoge";
aMembers[1] = "hogehoge";

2009年3月25日水曜日

ActionScript Objectオブジェクト

var oBook:Object = new Object();

oBook["title"] = "kaerimiru";

2009年3月23日月曜日

ActionScriptの定数

const 定数 : データ型 = 値 ;

値の設定は原則として宣言時にしか出来ない。

ActionScriptのデータ型

文字列 : String型

数値 : Number型

true/false : Boolean型

テキストフィールド : TextField型

ボタンインスタンス : SimpleButton型

ムービークリップインスタンス : MovieClip型


数値には整数値を表すint型と正の整数値を表すunit型がある

DisplayObject.parentプロパティの型変換

Actionscriptではparentプロパティが表示オブジェクト(DisplayObject)としてのみ理解される。
実際にはメインタイムライン(=ムービークリップ)であっても、Flashにはそれが理解されず、もっと大まかなくくりの表示オブジェクトとして扱われるので、stop()メソッドは不明なメソッドとなってしまう。


これの回避方法



型変換

//メインタイムラインに配置したムービークリップのフレームアクション

MovieClip(parent).stop();


「as」演算子

var Myparent:Movieclip = parent as MovieClip;
Myparent.stop();

2009年3月21日土曜日

イベントの指定

オブジェクト.addEventListener(イベント,イベントハンドラ名);

function イベントハンドラ名(変数){

処理

}



removeEventLitenerで削除

2009年3月20日金曜日

ムービークリップボタンの作り方

■ムービークリップをボタンにする

ボタンムービークリップの作り方

_up
_over
_down

のフレームをつくります。


as//

this.ButtonMC_mc.stop();
this.ButtonMC_mc.buttonMode = true;

//

アニメーションをとめて、ボタンとして認識させています

2009年3月16日月曜日

くるくる回るアニメーション

this.Rect_mc.addEventListener(Event.ENTER_FRAME,enterFrameHandler);

function enterFrameHandler(event:Event) :void {
event.target.rotation +=5;
}

2009年3月12日木曜日

actionscriptの演算子

■算術演算子
+ 加算(足し算)
- 減算(引き算)
* 乗算(掛け算)
/ 除算(割り算)
% 剰余(割り算の余り

■代入演算子
= 代入・設定
+= 加算後代入
-= 減算後代入
*= 乗算後代入
/= 除算後代入
%= 剰余を代入
++ インクリメント(1足す)
-- デクリメント(1引く)

■比較演算子
a == b [等価(aとbが等しいときにtrue、等しくないときfalse)]
a != b [不等価(aとbが等しくないときtrue、等しいときfalse)]
a < b [より小さい(aがbより小さいときtrue、そうでないときfalse)]
a <= b [以下(aがb以下のときtrue、そうでないときfalse)]
a > b [より大きい(aがbより大きいときtrue、そうでないときfalse)]
a >= b [以上(aがb以上のときtrue、そうでないときfalse)]
a === b [厳密な等価(aとbが値もデータ型も等しいときにtrue、そうでないときfalse)]
a !== b [厳密な不等価(aとbが値もデータ型も等しくないときにtrue、そうでないときfalse)]

■論理演算子
a || b [論理和 (a、bどちらか一方でもtrueならばtrue。両方ともにfalseのときfalse)]
a && b [論理積 (a、bともtrueのときtrue。そうでなければfalse)]
!a [否定 (aがtrueならばfalse。aがfalseならばtrue)]

2009年3月9日月曜日

scriptaculousのmorphエフェクト

$("contents").observe("click", morphEffect);
var bigOrSmall = true;
function morphEffect (e) {
e.stop();
var target = e.currentTarget;

if (bigOrSmall) {
// large
target.morph({width:"300px", height:"300px",backgroundColor:"#ddf",color:"#009",borderColor:"#f00"},{duration:3});
//bigOrSmall = false;
} else {
// small
target.morph({width:"200px", height:"100px",backgroundColor:"#fff",color:"#000",borderColor:"#f63"},{duration:3});
//bigOrSmall = true;
}
// フラッグ反転 true <-> falseを入替え
bigOrSmall = !bigOrSmall;
}

2009年3月8日日曜日

firefox3が重い

Firefoxを終了した状態で、ユーザライブラリのキャッシュからurlclassifier3.sqliteをゴミ箱に入れ削除する。
 キャッシュファイル保存先の一般例:Macintosh HD/ユーザ/(ユーザ名)/ライブラリ/Caches/Firefox/Profiles/(不規則文字列).default/urlclassifier3.sqlite
 起動が速くなります!
 Gmail等のWebアプリも速くなる

2009年3月7日土曜日

任意のスピードで動く

//X軸用
function myEaseInX(targetMc:MovieClip,startPointX:Number,easingIn:Number,delay:Number) {
var endPointX:Number = targetMc.x;
targetMc.x=startPointX;
var intervalId:uint = setInterval(intervalFunc,delay*1000);
function intervalFunc() {
targetMc.addEventListener(Event.ENTER_FRAME,slideIn);
function slideIn(evt:Event):void {
if (targetMc.x > endPointX || targetMc.x < endPointX) {
targetMc.x += (endPointX-targetMc.x)/easingIn;
} else {
targetMc.x = endPointX;
targetMc.removeEventListener(Event.ENTER_FRAME,slideIn);
}
}
clearInterval(intervalId);
}
}
//Y軸用
function myEaseInY(targetMc:MovieClip,startPointY:Number,easingIn:Number,delay:Number) {
var endPointY:Number = targetMc.y;
targetMc.y=startPointY;
var intervalId:uint = setInterval(intervalFunc,delay*1000);
function intervalFunc() {
targetMc.addEventListener(Event.ENTER_FRAME,slideIn);
function slideIn(evt:Event):void {
if (targetMc.y > endPointY || targetMc.y < endPointY) {
targetMc.y += (endPointY-targetMc.y)/easingIn;
} else {
targetMc.y = endPointY;
targetMc.removeEventListener(Event.ENTER_FRAME,slideIn);
}
}
clearInterval(intervalId);
}
}

フラッシュをフルブラウザで表示

function fixStage() {
var speed = 5;
var sW = Stage.width/2;
var sH = 100;
this.layout._x += (sW-this.layout._x)/speed;
this.layout._y += (sW-this.layout._y)/speed;
}

onEnterFrame = function () {
fixStage();
};

2009年3月3日火曜日

protptype.js-dom:loaded

dom:loadedは、prototype.jsの拡張イベント
ページを読み込まれた後にJavaScriptを実行する

Event.observe(document,"dom:loaded",実行させたい関数);

prototype.js-トグル

○js

function toggleAC (clickDom) {
var contentsID = clickDom.id + "-contents";
var contents = document.getElementById(contentsID);
var contents = $(contentsID);
if (contents.style.display == "none") {
contents.style.display = "block";
} else {
contents.style.display = "none";
}
}

これが

○prototype.js

function toggleContents (clickDom) {
$(clickDom.id + "-contents").toggle();
}

これだけになる


○html

<ul>
<li><a href="#" id="menua" onclick="toggleAC(this)">メニュー 1番目</a>
<div id="menua-contents">
1番目のコンテンツ
</div>
</li>
<li><a href="#" id="menub" onclick="toggleAC(this)">メニュー 2番目</a>
<div id="menub-contents" style="display:none;">
2番目のコンテンツ
</div>
</li>
<li><a href="#" id="menuc" onclick="toggleAC(this)">メニュー 3番目</a>
<div id="menuc-contents" style="display:none;">
3番目のコンテンツ
</div>
</li>
</ul>

prototype.jsの基礎

var contents = document.getElementById(contentsID);

var contents = $(contentsID);


「document.getElementById」を「$」でおきかえることができる

javascriptの基礎-HTMLの読み込みが完了したら実行

○HTMLの読み込みが全部完了したら実行

window.onload = function () {
alert("test");
}

javascript基礎-アンカータグのページ内リンク

return false;

で無効にする

■追記

javascript:void(0)

でも無効にする

jamsさん
a タグの href に # とか javascript:void(0) とかする理由

javascriptの基礎

javascriptの基礎

○stylesheetの設定を変えるときは
「.」でつないでいく。「-」のところは直後にくる文字を大文字で。


h1.style.backgroundColor

○以下でもできる

contents0.setStyle("display:none")


○設定

var January = 変数

function February (引数){

};

○実行

February(戻り値);


■任意の色にh1タグの色を変えてみる

○js

function changeClr (colorValue) {
var h1 = document.getElementById("header-title");
h1.style.backgroundColor = colorValue;
}

○html

<a href="#" onmouseover="changeClr('#ff0000')"
onmouseout="changeColor('transparent')">背景色を赤にする</a>

フォロワー