//オリジナル写真の幅、高さ
var w0 = 4186;
var h0 = 354;
//写真を動かすスピード
var speed = 0.05;
//写真拡大・縮小のスピードと初期設定
var t_rate = 1;
var rate = t_rate;
//マウスダウン認知用フラッグの初期設定
var flag = false;
//初期の自動移動を有効に
var auto = true;
// 画像移動用ムービークリップを作成
this.createEmptyMovieClip("p_container",0);
// p_container内に画像収納ムービークリップを2つ作成し、それぞれに同一画像を配置
var p1_mc = p_container.createEmptyMovieClip("p1_mc", -1);
var p2_mc = p_container.createEmptyMovieClip("p2_mc", -2);
p2_mc._x = w0;
p1_mc.attachMovie("p1","p1",-1);
p2_mc.attachMovie("p1","p2",-2);
//写真のスケールを80%に縮小
p_container._xscale = p_container._yscale = 80;
//縮小後のp_containerの初期配置
var w = w0 * p_container._xscale / 100;
var h = h0 * p_container._yscale / 100;
p_container._x = -w / 2;
p_container._y = Stage.height/2 - h/2;
// マウスリスナーオブジェクトの作成
var mouselistner:Object = new Object();
// マウスダウン時のアクション
mouselistner.onMouseDown = function() {
mousex = _root._xmouse;
mousey = _root._ymouse;
flag = true;
};
// マウスアップ時のアクション
mouselistner.onMouseUp = function() {
flag = false;
};
// mouselistner をリスナーに登録
Mouse.addListener(mouselistner);
//p_container毎フレームごとのアクション
p_container.onEnterFrame = function() {
w = w0 * p_container._xscale / 100;
h = h0 * p_container._yscale / 100;
if (auto) {
this._x -= 10 * speed;
}
//もしマウスがダウンされたら
if (flag) {
speedx = speed * (mousex - _root._xmouse);
speedy = speed * (mousey - _root._ymouse);
this._x += speedx;
this._y += speedy;
if (this._x >= 0) {
this._x -= w;
}
if (this._x <= Stage.width - 2 * w) {
this._x += w;
}
if (this._y > 0) {
this._y = 0;
}
if (this._y < Stage.height - h0 * this._yscale / 100) {
this._y = Stage.height - h0 * this._yscale / 100;
}
}
//もし拡大ボタンがpressされたら、拡大して座標を補正
if(plus) {
if (this._xscale <= 100) {
this._xscale += rate;
this._yscale += rate;
this._x -= (Stage.width / 2 - this._x) * rate / this._xscale;
this._y -= (Stage.height / 2 - this._y) * rate / this._yscale;
}
}
//もし縮小ボタンがpressされたら
if (minus) {
if (this._xscale >= 80) {
this._xscale -= rate;
this._yscale -= rate;
this._x += (Stage.width / 2 - this._x) * rate / this._xscale;
this._y += (Stage.height / 2 - this._y) * rate / this._yscale;
}
}
};
//ボタン類の作成と配置
//ボタン収納ムービークリップ、透明矩形ムービークリップの作成
this.createEmptyMovieClip("btn_container",10);
c_bg = this.attachMovie("buttons_bg", "c_bg", 11);
//ボタン類のインスタンス化と配置
e_btn = btn_container.attachMovie("enlarge_btn", "e_btn", 12);
s_btn = btn_container.attachMovie("shrink_btn", "s_btn", 13);
auto_btn = btn_container.attachMovie("auto_btn", "auto_btn", 14);
stop_btn = btn_container.attachMovie("stop_btn", "stop_btn", 15);
btn_container._x = Stage.width - 100;
btn_container._y = Stage.height - 20;
btn_container._xscale = btn_container._yscale = 30;
s_btn._x = 70;
auto_btn._x = stop_btn._x = 140;
auto_btn._visible = false;
c_bg._x = Stage.width - 120;
c_bg._y = Stage.height - 30;
//ボタン類のアクション
e_btn.onPress = function() {
plus = true;
};
e_btn.onRelease = function() {
plus = false;
};
s_btn.onPress = function() {
minus = true;
};
s_btn.onRelease = function() {
minus = false;
};
auto_btn.onPress = function() {
auto = true;
auto_btn._visible = false;
stop_btn._visible = true;
};
stop_btn.onPress = function() {
auto = false;
auto_btn._visible = true;
stop_btn._visible = false;
};
//btn_containerフレームごとのアクション
//btn_containerのロールオーバーでボタン類を拡大
btn_container.onEnterFrame = function() {
if (c_bg.hitTest(_root._xmouse, _root._ymouse, false)) {
this._xscale = this._yscale = 50;
} else {
this._xscale = this._yscale = 30;
}
};
//ボタンダウン時にマウスポインターを替える
this.attachMovie("wmouse","wmouse",120);
this.onEnterFrame = function() {
if (flag) {
Mouse.hide();
wmouse._visible= true;
wmouse._x = _root._xmouse;
wmouse._y = _root._ymouse;
} else {
Mouse.show();
wmouse._visible=false;
}
}; |