QuickBox2Dに画像を貼る
forked from forked from: QuickBox2Dとテキストと、、 (diff: 34)
Wonderflではリンケージクラスが使えないので QuickBox2Dに画像を貼る時にはひと工夫必要らしい 参考: ・QuickBox2D Skinning Examples http://actionsnippet.com/?p=2224 ・QuickBox2Dとテキストと、、 http://wonderfl.net/c/dyVA
ActionScript3 source code
/**
* Copyright Akiyah ( http://wonderfl.net/user/Akiyah )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/tHdI
*/
package
{
import flash.display.*;
import flash.events.*;
import flash.system.*;
import flash.net.*;
import flash.geom.*;
import net.hires.debug.Stats;
import com.actionsnippet.qbox.*;
public class Main extends MovieClip {
private var loader:Loader;
Security.loadPolicyFile("http://assets.wonderfl.net/crossdomain.xml");
private const path:String = "http://assets.wonderfl.net/images/related_images";
private const filename1:String = path + "/e/ed/ed1c/ed1cadf0fdd830922653b0fa2a5667315bb85ef5";
public function Main():void {
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, compHandler);
loader.load(new URLRequest(filename1), new LoaderContext(true));
}
public function compHandler(e:Event):void {
var g:Graphics;
var bmd:BitmapData= new BitmapData(loader.width,loader.height);
bmd.draw(loader);
addChild(new Stats());
var sim:QuickBox2D = new QuickBox2D(this, {debug:false});
sim.createStageWalls();
var box:QuickObject = sim.addBox({x:5, y:5, width:5, height:5});
g = box.userData.graphics;
g.beginBitmapFill(bmd, new Matrix(1,0,0,1,-5*30/2,-5*30/2));
g.drawRect(-5*30/2,-5*30/2,5*30,5*30);
var circle:QuickObject = sim.addCircle({x:4, y:8, radius:5/2});
g = circle.userData.graphics;
g.beginBitmapFill(bmd, new Matrix(1,0,0,1,-5*30/2,-5*30/2));
g.drawCircle(0,0,5*30/2);
sim.mouseDrag();
sim.start();
}
}
}