変数弄れる、泡っぽい何か
マウスをドラッグすると何か出ます
左上の数値を変更すると、或る程度動きに変化をつけられます
あんまり変な数字入れると、挙動がおかしくなる...かも
一番下のsize基準値以外は0.1も変えたら劇的に(?)変わると思う
TextFieldとかメンドクサイ...
オーサリングできないの辛いね
何か方法あるのかな?
途中から自分であーだこーだと内容書き換えたせいでコード汚いです
そのうちコメント解説打ち込むかも
ps.配列から変数にアクセスできないんだっけ?そのせいで20分くらい迷ってた
/**
* Copyright moyashi ( http://wonderfl.net/user/moyashi )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/aB47
*/
/*
マウスをドラッグすると何か出ます
左上の数値を変更すると、或る程度動きに変化をつけられます
あんまり変な数字入れると、挙動がおかしくなる...かも
一番下のsize基準値以外は0.1も変えたら劇的に(?)変わると思う
TextFieldとかメンドクサイ...
オーサリングできないの辛いね
何か方法あるのかな?
途中から自分であーだこーだと内容書き換えたせいでコード汚いです
*/
package {
import flash.display.*
import flash.events.*
import flash.text.*
public class FlashTest extends Sprite {
private var i:int
private var txtlist1:Array=["移動速度 (0~1)","透過速度 (0~1)","変化速度","size基準値"]
private var txtlist2:Array=["0.98","0.05","1.01","10"]
private var itxtlist:Array=[]
private var StateList:Array=[0.98,0.05,1.01,10]
public function FlashTest() {
for(i=0; i<4; i++){
var txt:TextField=new TextField()
txt.autoSize=TextFieldAutoSize.LEFT
txt.x=10
txt.y=10+i*20
txt.text=txtlist1[i]
addChild(txt)
}
for(i=0; i<4; i++){
var itxt:TextField=new TextField()
itxt.width=30
itxt.height=20
itxt.border=true
itxt.type=TextFieldType.INPUT
itxt.x=120
itxt.y=10+i*20
itxt.text=txtlist2[i]
addChild(itxt)
itxtlist.push(itxt)
itxt.addEventListener(FocusEvent.KEY_FOCUS_CHANGE,onKeyChange)
itxt.addEventListener(FocusEvent.MOUSE_FOCUS_CHANGE,onMouseChange)
itxt.addEventListener(KeyboardEvent.KEY_DOWN,onKeyDown)
}
stage.addEventListener(MouseEvent.MOUSE_DOWN,onMouseDown)
stage.addEventListener(MouseEvent.MOUSE_UP,onMouseUp)
}
private function onKeyChange(e:FocusEvent):void{
setValue()
}
private function onMouseChange(e:FocusEvent):void{
setValue()
}
private function onKeyDown(e:KeyboardEvent):void{
if(e.keyCode == 13){
setValue()
}
}
private function setValue():void{
for(i=0; i<4; i++){
if(Number(itxtlist[i].text)){
StateList[i]=Number(itxtlist[i].text)
}
}
}
private function onMouseDown(e:MouseEvent):void{
stage.addEventListener(Event.ENTER_FRAME,onCreate)
}
private function onMouseUp(e:MouseEvent):void{
if(stage.hasEventListener(Event.ENTER_FRAME)){
stage.removeEventListener(Event.ENTER_FRAME,onCreate)
}
}
private function onCreate(e:Event):void{
for(i=0; i<6; i++){
var chip:BALL=new BALL(StateList[0],StateList[1],StateList[2],StateList[3])
chip.x = mouseX
chip.y = mouseY
chip.vx = Math.random()*10-Math.random()*10
chip.vy = Math.random()*10-Math.random()*10
addChild(chip)
}
}
}
}
import flash.display.*
import flash.events.*
class BALL extends Sprite{
public var vx:Number
public var vy:Number
public var n:Number
public var al:Number
public var ran:Number
public var si:Number
private var sp:Sprite
public function BALL(Num1:Number,Num2:Number,Num3:Number,Num4:Number){
n=Num1
al=Num2
ran=Num3
si=Num4
sp=new Sprite()
sp.graphics.beginFill(0x777777+0x888888*Math.random())
sp.graphics.drawCircle(0,0,si*Math.random())
sp.graphics.endFill()
addChild(sp)
sp.addEventListener(Event.ENTER_FRAME,onMOVE)
}
private function onMOVE(e:Event):void{
sp.x += vx
sp.y += vy
vx *= n
vy *= n
sp.scaleX *= ran
sp.scaleY *= ran
sp.alpha -= al
if(sp.alpha<=0){
sp.removeEventListener(Event.ENTER_FRAME,onMOVE)
removeChild(sp)
}
}
}