Skip to content

Instantly share code, notes, and snippets.

@hushin
Created June 6, 2012 16:47
Show Gist options
  • Save hushin/2883195 to your computer and use it in GitHub Desktop.
Save hushin/2883195 to your computer and use it in GitHub Desktop.
モーショントゥイーンを作るテスト
xjsfl.init(this); //init xJSFL
const STAR_NAME = "star";
var dom = $dom;
var lib = $dom.library;
var tl = $timeline;
var context = Context.create();
makeStar(); //星を作る
lib.addItemToDocument({x:100 , y:100}, STAR_NAME); //ステージに配置
tl.createMotionTween(); //モーショントゥイーンを作成
tl.insertKeyframe(29); //30フレーム目にキーフレームを挿入
//30フレーム目のMCを変形させる
$('*')
.attr('position', [400,200])
.attr('scale', [1, 0.5])
.attr('rotation', 30)
.refresh();
//星のMCを作る
function makeStar(){
if( ! lib.itemExists(STAR_NAME))
{
lib.addNewItem('movie clip', STAR_NAME);
lib.editItem(STAR_NAME);
makeStarPath(5, 20, 40);
dom.selectAll();
dom.setFillColor('#99CC3366');
dom.setStroke('#003300AA', 0.5, 'solid')
context.goto();
}
}
//星のパスを描画
function makeStarPath(sideNum, inside, outside){
var myPath = fl.drawingLayer.newPath();
var radius, radians;
for (var i = 0; i <= sideNum * 2 ; i++)
{
radius = (i%2) ? inside : outside;
radians = 360 * (i / sideNum / 2) * (Math.PI / 180) + (Math.PI * 1.5); // 星なので90度から描画開始
myPath.addPoint(Math.cos(radians) * radius, Math.sin(radians) * radius);
//trace(Math.cos(radians) * radius, Math.sin(radians) * radius);
}
myPath.makeShape();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment