一个标题一段代码
加载图片
//初始化引擎
Laya.init(1080, 600)
Laya.stage.bgColor = "#fff"
// 方法1:使用loadImage
var spl:Sprite = new Sprite()
Laya.stage.addChild(spl)
spl.loadImage("../../laya/assets/comp/monkey2.png")
//设置锚点
spl.pivot(20,20)
//设置图片的起始位置
spl.pos(20,20)
图片容器
var layoutRadius:int= 150;
var radianUnit:Number = Math.PI / 2;
allSprites = new Sprite();
Laya.stage.addChild(allSprites);
for (var i:int = 0 ; i < 5 ; i++ ){
var sprit:Sprite = new Sprite();
sprit.loadImage("../../laya/assets/comp/monkey2.png");
sprit.pivot(55, 72);
sprit.pos(Math.cos(radianUnit * i) * layoutRadius,Math.sin(radianUnit * i) * layoutRadius);
allSprites.addChild(sprit);
}
allSprites.pos(Laya.stage.width/2,Laya.stage.height/2);
对图片的变换
var ape:Sprite;
private function createApe():void{
ape = new Sprite();
ape.loadImage("../../laya/assets/comp/monkey2.png");
Laya.stage.addChild(ape);
ape.pivot(55,72);
ape.x = Laya.stage.width/2;
ape.y = Laya.stage.height/2;
Laya.timer.frameLoop(1,this,animate);
}
var scaleDelta:Number = 0;
private function animate(e:Event=null):void{
ape.rotation +=2;
scaleDelta += 0.02;
var scaleValue:Number = Math.sin(scaleDelta);
ape.scale(scaleValue,scaleValue);
}
绘制不规则图形
这些代码看着改改就可以用
var canvas:Sprite = new Sprite()
Laya.stage.addChild(canvas)
var path:Array = []
path.push(0, -130)
path.push(33, -33 )
path.push(137, -30)
path.push(55, 32)
path.push(85, 130)
path.push(0, 73)
path.push(-85, 130)
path.push(-55, 32)
path.push(-137, -30)
path.push(-33, -33 )
canvas.graphics.drawPoly(Laya.stage.width / 2, Laya.stage.height / 2, path, "#FF7F50")
放大镜练习mask遮罩
import laya.display.Sprite;
import laya.events.Event;
import laya.ui.Label;
import laya.utils.Browser;
import laya.webgl.WebGL;
import laya.utils.Handler;
public class Main {
public function Main() {
Laya.init(1080, 600,WebGL);
Laya.stage.bgColor = "#fff"
Laya.loader.load("../../laya/assets/img/bg2.png", Handler.create(this,setup));
}
var bg2,maskSp:Sprite;
private function setup(_e:*=null):void
{
var bg:Sprite = new Sprite();
bg.loadImage("../../laya/assets/img/bg2.png");
Laya.stage.addChild(bg);
bg2 = new Sprite();
bg2.loadImage("../../laya/assets/img/bg2.png");
Laya.stage.addChild(bg2);
bg2.scale(3, 3);
maskSp = new Sprite();
maskSp.graphics.drawPoly(0,0,[0, 100, 50, 0, 100, 100], "#ffff00");
maskSp.pivot(50, 60);
bg2.mask = maskSp;
Laya.stage.on("mousemove",this,omMouseMove);
}
private function omMouseMove(_e:*=null):void{
bg2.x = -Laya.stage.mouseX * 2;
bg2.y = -Laya.stage.mouseY * 2;
maskSp.x = Laya.stage.mouseX;
maskSp.y = Laya.stage.mouseY;
}
}
缓存为静态图像
var textBox :Sprite = new Sprite();
textBox.cacheAsBitmap = true;
通过将多个显示对象缓存成静态图像可以大幅提升渲染效率
节点控制
public class Main {
public function Main() {
Laya.init(1080, 600,WebGL);
Laya.stage.bgColor = "#fff"
Laya.loader.load("../../laya/assets/img/monkey2.png", Handler.create(this,createApes));
}
var ape1,ape2:Sprite;
private function createApes():void
{
ape1 = new Sprite();
ape2 = new Sprite();
ape1.loadImage("../../laya/assets/img/monkey2.png");
ape2.loadImage("../../laya/assets/img/monkey2.png");
ape1.pivot(55, 72);
ape2.pivot(55, 72);
ape1.pos(Laya.stage.width / 2, Laya.stage.height / 2);
ape2.pos(200, 0);
Laya.stage.addChild(ape1);
ape1.addChild(ape2);
Laya.timer.frameLoop(1, this, animate);
}
var sca:Number = 0;
private function animate(e:Event=null):void
{
ape1.rotation += 2;
ape2.rotation -= 4;
sca += 0.02;
var scaleValue:Number = Math.sin(sca);
ape2.scale(scaleValue,scaleValue);
ape1.scale(scaleValue,scaleValue);
}
}
轴心点
sp1 = new Sprite();
sp1.pivot(55, 72);
切换纹理。这里使用graphics.drawTexture,也可以使用loadImage
public class LayaSample {
private var texture1:String = "../../laya/assets/monkey2.png";
private var texture2:String = "../../laya/assets/monkey3.png";
private var flag:Boolean = false;
private var ape:Sprite;
public function LayaSample() {
Laya.init(1136, 640);
Laya.stage.alignV = Stage.ALIGN_MIDDLE;
Laya.stage.alignH = Stage.ALIGN_CENTER;
Laya.stage.scaleMode = "showall";
Laya.stage.bgColor = "#232628";
}
private function dd():void{
ape.rotation += 2;
}
private function onAssetsLoaded(e:*=null):void{
ape = new Sprite();
Laya.stage.addChild(ape);
ape.pivot(55,72);
ape.pos(Laya.stage.width /2 ,Laya.stage.height/2);
switchTexture();
ape.on("click",this,switchTexture);
Laya.timer.frameLoop(1,this,dd);
}
private function switchTexture(e:*=null):void{
var textureUrl:String = (flag = !flag) ? texture1 :texture2;
ape.graphics.clear();
var texture:Texture = Laya.loader.getRes(textureUrl);
ape.graphics.drawTexture(texture,0,0);
ape.size(texture.width,texture.height);
}
}