D0811231 ムービークリップ間を直線で結ぶ
Name yell
Date 2008年11月23日 (日) 18時34分
Message はじめまして。いつもこのサイトにはお世話になっております。
行き詰った所が出てきたので、質問させてください。


複数のムービークリップを配置し、
1つ目にon(press)されたムービークリップを始点、
2つ目にon(press)されたムービークリップを終点とする。

その間をlinTo()で直線を引くようにしたいと思っていますが、
やり方がどうしてもわかりません。

どなたか教えていただけるとありがたいです。
どうぞよろしくお願いします。
Response 01
2008年11月24日 (月) 12時03分> joy 
yellさん、
↓のサンプルのような動きで、良いのでしょうか?

1)空MC(インスタンス名 screen_mc)、5つのMC(インスタンス名 mc0、mc1、mc2、mc3、mc4)、クリア用のMC(インスタンス名 clear_mc)をシーンに配置し、

2)第一フレームのscriptレイヤーに、以下のように記載します。
mc0、mc1、mc2、mc3、mc4のうち、最初に押されたMCが始点となり、次に押されたMCまで、直線が引かれます。そこから、残りのMCをクリックすると、残りのMCに、直線が引かれます。
あまり、組み合わせを考えてないので、BUGがあるかもしれませんが、とりあえず、MC間の直線は引かれます。

/*ここから*/
this.stop();
var Draw:Boolean = false;//screen_mcのonEnterFrameを始動するかどうか決める制御変数で、初期値は、false
var num:Number = 0;//各MCが押される都度、カウントアップされるカウンターで、初期値は0とする
var Max:Number=5;//mcの数

var theSX:Number;//始点のX座標
var theSY:Number;//始点のY座標

var theEX:Number;//終点のX座標
var theEY:Number;//終点のY座標

screen_mc.onEnterFrame = function() {//左上基準の空のMCのインスタンス名をscreen_mc
if (Draw) {//Drawが、trueなら
this.lineStyle(2,0x000000);
this.moveTo(theSX,theSY);
this.lineTo(theEX,theEY);
} else {
this.clear();
}
};
for(i:Number=0;i<Max;i++){;//mc0、mc1、mc2、mc3、mc4の5つのMCを配置した場合
_root["mc"+i].onRelease = function() {
num++;
if (num == 1) {
theSX = this._x;//始点をこのX座標とし、
theSY = this._y;//同様に、このY座標とする
} else if (num == 2) {
Draw = true;
theEX = this._x;//終点のX座標を、このX座標とし、
theEY = this._y;//同様に、Y座標を、このY座標とする
num = 0;//初期値に戻す
}
};
}
clear_mc.onRelease = function() {
Draw = false;//screen_mc.clear();を実行
num=0;//初期値に戻す
};
/*ここまで*/

となります。(直線が引かれる順番に関しては、あまり、考えてないので、自信は、ありませんが・・)
http://homepage2.nifty.com/joys/answers/mctomcline/mctomcline.html
Response 02
2008年11月24日 (月) 12時44分> yell 
joyさん、ありがとうございます!まさにやりたかった事です。
わかりやすく説明していただいて、とても理解しやすかったです。
勉強になりました^^本当にありがとうございました。
Response 03
2008年12月16日 (火) 03時04分> yell 
再び詰まってしまいましたので質問させてください。

上記swfをPHPを使って保存させ、
ブラウザを閉じても復元できるようにしたいのですが
PHPと連携させるのは初めての為、よくわかりません。

情けない話なのですが、私が理解できたのは


var url = "test.php";
var send_lv:LoadVars;
var recv_lv:LoadVars = new LoadVars();

上記だけでした。
どなたか詳しい方、ご教授お願い致します。
Response 04
2008年12月17日 (水) 00時26分> joy 
■ lineToでムービー上に書いた線をjpgで書き出して保存を参照下さい。

このページの先頭へ