/**
* Copyright naokey0221 ( http://wonderfl.net/user/naokey0221 )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/cWu3
*/
package
{
//import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
public class FroAnime extends Sprite
{
//カエルのクラス
private var _frog :frog ;
private var _frog2 :frog ;
private var _frog3 :frog ;
public function FroAnime()
{
_frog = new frog(0x33FF00);
_frog.addEventListener(MouseEvent.CLICK, onClick);
_frog.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
_frog.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
_frog.addEventListener(MouseEvent.MOUSE_DOWN,onMouseDown);
_frog.addEventListener(MouseEvent.MOUSE_UP,onMouseUp);
//_frog.givVel(40);
_frog.x = -100;
_frog.y = 10;
addChild( _frog ); // 表示リストに追加
_frog2 = new frog(0xff3333);
_frog2.addEventListener(MouseEvent.CLICK, onClick2);
_frog2.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
_frog2.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
_frog2.addEventListener(MouseEvent.MOUSE_DOWN,onMouseDown);
_frog2.addEventListener(MouseEvent.MOUSE_UP,onMouseUp);
//_frog2.givVel(40);
_frog2.x = 50;
_frog2.y = 10;
addChild( _frog2 );
_frog3 = new frog(0x0033ff);
_frog3.addEventListener(MouseEvent.CLICK, onClick3);
_frog3.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
_frog3.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
_frog3.addEventListener(MouseEvent.MOUSE_DOWN,onMouseDown);
_frog3.addEventListener(MouseEvent.MOUSE_UP,onMouseUp);
//_frog3.givVel(40);
_frog3.x = 220;
_frog3.y = 10;
addChild( _frog3 );
// 1フレーム毎に実行する処理にmoveCarを追加する
addEventListener(Event.ENTER_FRAME, movefrog);
}
private function onClick(e:MouseEvent): void
{
//_frog.count+=1;
//_frog2.count+=1;
//_frog3.count+=1;
//if(_frog.count%2==1)
_frog.givVel(40);
//else if(_frog.count%2==0)
/*{
_frog.givVel(0);
}*/
}
private function onClick2(e:MouseEvent): void
{
_frog2.givVel(40);
}
private function onClick3(e:MouseEvent): void
{
_frog3.givVel(40);
}
private function onMouseOver(e:MouseEvent):void
{
_frog.over();
_frog2.over();
_frog3.over();
}
private function onMouseOut(e:MouseEvent):void
{
_frog.out();
_frog2.out();
_frog3.out();
}
private function onMouseDown(e:MouseEvent):void
{
e.currentTarget.startDrag();
}
//マウス・アップ時にドラッグ終了
private function onMouseUp(e:MouseEvent):void
{
e.currentTarget.stopDrag();
}
private function movefrog(e:Event):void
{
_frog.move(); // カエルを動かす
_frog2.move();
_frog3.move();
}
}
}
import flash.display.MovieClip;
import flash.display.Sprite;
class frog extends Sprite
{
// syosoku= 0
private var _syosoku:int = 0;
private var _time:Number=0.0;
private var _tmp:Number=0.0;
private var _velocity:Number=0.0
public var count:int=0;
private var _over:Sprite;
public function frog(fillColor:uint)
{
// 描画
_draw(fillColor);
// マウス・オーバー時に表示させるSpriteのインスタンスを生成
_over = new Sprite();
//_over._draw(0xFFFF33);
// 非表示に設定
_over.visible = false;
// 表示リストに追加
addChild(_over);
// マウス・カーソルを手のカーソルに変える
buttonMode = true;
}
public function over():void {
// マウス・オーバー時の画像を表示
_over.visible = true;
}
public function out():void {
// マウス・オーバー時の画像を非表示
_over.visible = false;
}
// ガソリンを入れる。
public function givVel(_amount:int):void {
if (_amount < 0) { // もしガソリンの量が0以下だったら
return; // 何もしないで、ここで終了
}
_syosoku += _amount; // $amountだけ_gasの量を増やす
}
// 車を動かす
public function move():void {
_velocity=_syosoku-9.8*_time;
_tmp=10-(_velocity*_time+(1/2)*9.8*_time*_time);
//_velocity=-1*_velocity;
// y=-_tmp;
//y=10-(_velocity*_time+(1/2)*9.8*_time*_time);
//y=0.0;
//}
if(y>=10)
{
_time=0.0
//y=_tmp;
}
y=_tmp;
_time+=0.5;
_syosoku*=0.99;
}
private function _draw(fillColor:uint):void
{
//顔
//myCircle1=new DrawCircle(200,200,50,30,0x33FF00,0);
graphics.beginFill(fillColor)
graphics.moveTo(200+50,200);
for(var d:int =0 ;d<360 ;d++)
{
var radian:Number =(d/*+keisya*/)*Math.PI/180;
graphics.lineTo(
200+50*Math.cos(radian),
200+30*Math.sin(radian))
}
graphics.endFill()
//myCircle2=new DrawCircle(180,170,10,10,0x000000,0);
graphics.beginFill(0x000000)
graphics.moveTo(180+10,170);
for(var d:int =0 ;d<360 ;d++)
{
var radian:Number =(d/*+keisya*/)*Math.PI/180;
graphics.lineTo(
180+10*Math.cos(radian),
170+10*Math.sin(radian))
}
graphics.endFill()
//myCircle3=new DrawCircle(220,170,10,10,0x000000,0);
graphics.beginFill(0x000000)
graphics.moveTo(220+10,170);
for(var d:int =0 ;d<360 ;d++)
{
var radian:Number =(d/*+keisya*/)*Math.PI/180;
graphics.lineTo(
220+10*Math.cos(radian),
170+10*Math.sin(radian))
}
graphics.endFill()
//myCircle4=new LineDrawer(3,191,200,193,199,0x996633);
graphics.lineStyle(3,0x996633);
graphics.moveTo(191,200);
graphics.lineTo(193,199);
//myCircle5=new LineDrawer(3,209,200,207,199,0x996633);
graphics.lineStyle(3,0x996633);
graphics.moveTo(209,200);
graphics.lineTo(207,199);
//腕
// myLines1=new LineDrawer(8,170,210,150,230,0x33FF00);
graphics.lineStyle(8,fillColor);
graphics.moveTo(170,210);
graphics.lineTo(150,230);
//myLines2=new LineDrawer(8,230,210,250,230,0x33FF00);
graphics.lineStyle(8,fillColor);
graphics.moveTo(230,210);
graphics.lineTo(250,230);
//myLines3=new LineDrawer(8,150,230,170,250,0x33FF00);
graphics.lineStyle(8,fillColor);
graphics.moveTo(150,230);
graphics.lineTo(170,250);
//myLines4=new LineDrawer(8,250,230,230,250,0x33FF00);
graphics.lineStyle(8,fillColor);
graphics.moveTo(250,230);
graphics.lineTo(230,250);
//手
//myLines5=new LinesDrawerR(170,250,0x33FF00,6);
graphics.lineStyle(3,fillColor);
for(var d:int=-30;d<=60;d+=30 )
{
graphics.moveTo(170,250);
var radian:Number =d*Math.PI/180;
graphics.lineTo(
170+8*Math.cos(radian),
250+8*Math.sin(radian))
}
//myLines6=new LinesDrawerL(230,250,0x33FF00,6);
graphics.lineStyle(3,fillColor);
for(var d:int=120;d<=210;d+=30 )
{
graphics.moveTo(230,250);
var radian:Number =d*Math.PI/180;
graphics.lineTo(
230+8*Math.cos(radian),
250+8*Math.sin(radian))
}
}
}
class LineDrawer extends MovieClip
{
public function LineDrawer(bold:int, centerX:Number,centerY:Number,gx:Number,gy:Number,color:int)
{
graphics.lineStyle(bold,/*0x33FF00*/color);
graphics.moveTo(centerX,centerY);
graphics.lineTo(gx,gy);
}
}
class LinesDrawerR extends MovieClip
{
public function LinesDrawerR(centerX:Number,centerY:Number,color:int,length:int)
{
graphics.lineStyle(3,color);
for(var d:int=-30;d<=60;d+=30 )
{
graphics.moveTo(centerX,centerY);
var radian:Number =d*Math.PI/180;
graphics.lineTo(
centerX+8*Math.cos(radian),
centerY+8*Math.sin(radian))
//graphics.lineTo(centerX+8/*length*/ ,centerY+8/*length*/);
}
}
}
class LinesDrawerL extends MovieClip
{
public function LinesDrawerL(centerX:Number,centerY:Number,color:int,length:int)
{
graphics.lineStyle(3,color);
for(var d:int=120;d<=210;d+=30 )
{
graphics.moveTo(centerX,centerY);
var radian:Number =d*Math.PI/180;
graphics.lineTo(
centerX+8*Math.cos(radian),
centerY+8*Math.sin(radian))
//graphics.lineTo(centerX+8/*length*/ ,centerY+8/*length*/);
}
}
}
class DrawCircle extends MovieClip
{
public function DrawCircle(centerX:Number,centerY:Number,r:Number,r2:Number,color:int,keisya:int)
{
graphics.beginFill(color)
graphics.moveTo(centerX+r,centerY);
for(var d:int =0 ;d<360 ;d++)
{
var radian:Number =(d+keisya)*Math.PI/180;
graphics.lineTo(
centerX+r*Math.cos(radian),
centerY+r2*Math.sin(radian))
}
graphics.endFill()
}
}