/**
* Copyright fakestar0826 ( http://wonderfl.net/user/fakestar0826 )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/r5SV
*/
//コンテナに入れると表示されなくなる。。。
package {
import flash.text.TextField;
import flash.display.AVM1Movie;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.display.MovieClip;
import flash.display.Sprite;
public class FlashTest extends Sprite {
private var container:MovieClip;
private var button1:Button;
private var button2:Button;
private var button3:Button;
private var button4:Button;
private var button5:Button;
private var banner1:Banner;
private var banner2:Banner;
private var banner3:Banner;
private var banner4:Banner;
private var banner5:Banner;
private var _text:TextField;
public function FlashTest() {
// write as3 code here..
_text = new TextField();
_text.x = 400;
_text.y = 400;
addChild(_text);
addBanners();
addButtons();
this.addEventListener(MouseEvent.MOUSE_MOVE, moveHandler);
}
private function addButtons():void
{
button1 = new Button(80, 30, 0x000000, "button1", this);
button1.x = 0; button1.y = 200;
addChild(button1);
button2 = new Button(80, 30, 0x333333, "button2", this);
button2.x = 80; button2.y = 200;
addChild(button2);
button3 = new Button(80, 30, 0x666666, "button3", this);
button3.x = 160; button3.y = 200;
addChild(button3);
button4 = new Button(80, 30, 0x999999, "button4", this);
button4.x = 240; button4.y = 200;
addChild(button4);
button5 = new Button(80, 30, 0xCCCCCC, "button5", this);
button5.x = 320; button5.y = 200;
addChild(button5);
}
private function addBanners():void
{
banner1 = new Banner(400, 200, 0x000000, "banner1");
addChild(banner1);
banner1.x = 0; banner1.y = 0;
banner2 = new Banner(400, 200, 0x333333, "banner2");
addChild(banner2);
banner2.x = 400; banner2.y = 0;
banner3 = new Banner(400, 200, 0x666666, "banner3");
addChild(banner3);
banner3.x = 800; banner3.y = 0;
banner4 = new Banner(400, 200, 0x999999, "banner4");
addChild(banner4);
banner4.x = 1200; banner4.y = 0;
banner5 = new Banner(400, 200, 0xCCCCCC, "banner5");
addChild(banner5);
banner5.x = 1600; banner5.y = 0;
}
private function moveHandler(e:MouseEvent):void
{
var center:int = Math.floor(stage.stageWidth / 2);
var dist:int = mouseX - center;
var move:int = int(dist / 10)
banner1.vx = move;
banner2.vx = move;
banner3.vx = move;
banner4.vx = move;
banner5.vx = move;
}
public function setDist(value:String):void
{
_text.text = String(value);
//コンテナごと行くのがスマートやな。
//無駄無駄無駄無駄無駄無駄無駄無駄無駄。と、とりえあず。
if(value == "button1")
{
banner1.toDist(0);
banner2.toDist(400);
banner3.toDist(800);
banner4.toDist(1200);
banner5.toDist(1600);
}
if(value == "button2")
{
banner1.toDist(1600);
banner2.toDist(0);
banner3.toDist(400);
banner4.toDist(800);
banner5.toDist(1200);
}
if(value == "button3")
{
banner1.toDist(1200);
banner2.toDist(1600);
banner3.toDist(0);
banner4.toDist(400);
banner5.toDist(800);
}
if(value == "button4")
{
banner1.toDist(800);
banner2.toDist(1200);
banner3.toDist(1600);
banner4.toDist(0);
banner5.toDist(400);
}
if(value == "button5")
{
banner1.toDist(400);
banner2.toDist(800);
banner3.toDist(1200);
banner4.toDist(1600);
banner5.toDist(0);
}
}
}
}
import flash.events.Event;
import flash.events.MouseEvent;
import flash.display.Sprite;
import caurina.transitions.Tweener;
import caurina.transitions.properties.ColorShortcuts;
class ParentButton extends Sprite
{
ColorShortcuts.init();
private var _width:int;
private var _height:int;
private var _color:uint;
public function ParentButton(w:int, h:int, color:uint):void
{
_width = w;
_height = h;
_color = color;
this.buttonMode = true;
drawButton();
this.addEventListener(MouseEvent.MOUSE_OVER, overHandler);
this.addEventListener(MouseEvent.MOUSE_OUT, outHandler);
}
private function drawButton():void
{
this.graphics.beginFill(_color);
this.graphics.drawRect(0, 0, _width, _height);
this.graphics.endFill();
}
private function overHandler(e:MouseEvent):void
{
Tweener.addTween(this, { _brightness:0.3, time:0.2 } );
}
private function outHandler(e:MouseEvent):void
{
Tweener.addTween(this, { _brightness:0, time:0.1 } );
}
}
class Button extends ParentButton
{
private var _parent:FlashTest;
public function Button(w:int, h:int, color:uint, _name:String, parent:FlashTest):void
{
super(w, h, color);
_parent = parent;
name = _name;
this.addEventListener(MouseEvent.MOUSE_OVER, setDist);
}
private function setDist(e:MouseEvent):void
{
_parent.setDist(this.name);
}
}
class Banner extends ParentButton
{
private var _vx:int = 1;
public function Banner(w:int, h:int, color:uint, _name:String):void
{
super(w, h, color);
name = _name;
this.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
}
private function enterFrameHandler(e:Event):void
{
this.x -= _vx;
if(this.x < -400)
{
this.x = 1600;
}
if(this.x > 1600)
{
this.x = -400;
}
}
public function toDist(value:int):void
{
Tweener.addTween(this, { x:value, time:0.8 });
}
public function set vx(value:int):void
{
_vx = value;
}
}