layaair 3D教程

layaair 3D教程

里面模型包括摄像机默认中心点都是中心

    var camera = (scene.addChild(new Laya.Camera(0, 0.1, 100)));
        camera.transform.translate(new Laya.Vector3(0, 10, 0));
        camera.transform.rotate(new Laya.Vector3(-90, 0, 0), true, false);

上面代码是摄像机垂直向下 观看模型

如果做动画直接
运行 plane.transform.translate(new Laya.Vector3(0, 0, 0.01), false, false); 运行一次 播放一次动画

layaair matterjs教程

layaair matterjs教程

$(function() {
    var Browser = Laya.Browser;
    var WebGL = Laya.WebGL;
    var Matter = window.Matter;
    var LayaRender = window.LayaRender;
    var stageWidth = 750;
    var stageHeight = 1206;
  
    Laya.init(stageWidth, stageHeight, WebGL);
     Laya.stage.scaleMode = "fixedwidth";
    // module aliases
    var Engine = Matter.Engine,
        Render = Matter.Render,
        World = Matter.World,
        Bodies = Matter.Bodies;
    // create an engine
    var engine = Engine.create({
        enableSleeping: true
    });
    // engine.world.gravity.y = 0;//关闭重力
    // create a renderer
    // var render = Render.create({
    //     element: document.body,
    //     engine: engine
    // });
    
    var render = LayaRender.create({
        engine: engine,
        width: 750,
        height: 1206,
        options: {
            // background: '../../res/physics/img/background.png',
            wireframes: false //true//           
        }
    });
    // create two boxes and a ground
    var boxA = Bodies.rectangle(100, 200, 750, 10);
    var boxB = Bodies.rectangle(450, 50, 47, 47,{render:{
            sprite: {
                texture: '/fudiqixi/images/2/xiaoqiu.png'
            }
        } });
    var ground = Bodies.rectangle(750/2, 1206/2, 750, 60, {
        isStatic: true
    });
    // add all of the bodies to the world
    World.add(engine.world, [boxA, boxB, ground]);
    // run the engine
    Engine.run(engine);
    // run the renderer
    // Render.run(render);
    LayaRender.run(render);
})

ps:需要引入LayaRender.js 和matterjs.js layaair默认是不引入的

matterjs 默认中心点在中间 layaair在左上 2个结合的时候 务必保持一致

layaair截图的方法

layaair截图的方法


  function jietu() {
     var xiaoches = getsp("/lanchengwuyi/images/9/chezi.png", 750 / 2 - 60, 1206 - 220);
        xiaoches.pivotX = 0;
        xiaoches.pivotY = 0;
        //定义一个HTMLCanvas来接收截屏返回的HTMLCanvas对象;截取原始图片中从0,0坐标开始的100*100部分图片
        var htmlC = xiaoches.drawToCanvas(100, 200, 0, 0);
        //获取原生的canvas对象
        var canvas = htmlC.getCanvas();
        console.log(canvas);
        //打印图片base64信息,可以发给服务器或者保存为图片
        console.log(canvas.toDataURL("image/png"));
    }

截图按照原来的图片尺寸来的 并不是当前按照屏幕大小来的
原理就是 精灵转化成canvas 然后canvas输出base64