[]关于缓动函数from的一些问题记录
以下为我第一次写的代码
以上的代码主要存在三个问题:
1. from()中的duration和delay都是以毫秒为单位,所以3,1想表示3秒,1秒需要使用3000,1000作为参数
2. Laya.Handler 的创建需要使用Laya.Handler.create(,)来实现,不是new Handler.(这条不知道对不对,反正用new Handler报错了)
3. 不应该在from的complete的回掉函数中才把letterText加入到Laya.stage中,不然from动作都已经结束了就看不到效果了.
以下为修改后的代码:
PS:想要from起作用,那么Laya.stage.addChild(letterText)放的位置在from的前后都可以吗?如果可以放在后面,那这种情况怎么控制complete回调和addChild的顺序.
一下代码为添加Props中的update回调后的代码
总结以上出现的尚未解决问题:
1. 想要from起作用,那么Laya.stage.addChild(letterText)放的位置在from的前后都可以吗?如果可以放在后面,那这种情况怎么控制complete回调和addChild的顺序?
2. new Handler (在加载图片loadImage时可行)和new Laya.Handler(在from的Props的update回调函数时可行) 和 Laya.Handler.create (在加载图集和from的complete回调函数时可行)的区别?为什么会在交替使用时失败?
```javaScript
var letterText = new Laya.Text();
letterText.text ="hello world";
letterText.width = 400;
letterText.height = 200;
letterText.fontSize = 36;
letterText.align = "center";
letterText.valign = "middle";
var offsetPos={offsetX:100,offsetY:100};
letterText.x = Laya.stage.width - letterText.width>>1 +offsetPos.offsetX;
letterText.y = 400;
Laya.Tween.from(letterText,{y:100},3,Laya
.Ease.backOut,new Handler(this,this.onEaseComplete),1,null,true);
function onEaseComplete(){
console.log("ease complete");
Laya.stage.addChild(letterText);
}
```
以上的代码主要存在三个问题:
1. from()中的duration和delay都是以毫秒为单位,所以3,1想表示3秒,1秒需要使用3000,1000作为参数
2. Laya.Handler 的创建需要使用Laya.Handler.create(,)来实现,不是new Handler.(这条不知道对不对,反正用new Handler报错了)
3. 不应该在from的complete的回掉函数中才把letterText加入到Laya.stage中,不然from动作都已经结束了就看不到效果了.
以下为修改后的代码:
```javaScript
var letterText = new Laya.Text();
Laya.stage.addChild(letterText);
letterText.text ="hello world";
letterText.width = 400;
letterText.height = 200;
letterText.fontSize = 36;
letterText.align = "center";
letterText.valign = "middle";
var offsetPos={offsetX:100,offsetY:100};
letterText.x = Laya.stage.width - letterText.width>>1 +offsetPos.offsetX;
letterText.y = 400;
Laya.Tween.from(letterText,{y:100},3000,Laya
.Ease.backOut,Laya.Handler.create(this,this.onEaseComplete),1000,null,true);
function onEaseComplete(){
console.log("ease complete");
}
```
PS:想要from起作用,那么Laya.stage.addChild(letterText)放的位置在from的前后都可以吗?如果可以放在后面,那这种情况怎么控制complete回调和addChild的顺序.
一下代码为添加Props中的update回调后的代码
```javaScript注意Props中的Handler创建方式需要使用new Laya.Handler()方式.
var letterText = new Laya.Text();
Laya.stage.addChild(letterText);
letterText.text ="hello world";
letterText.width = 400;
letterText.height = 200;
letterText.fontSize = 36;
letterText.align = "center";
letterText.valign = "middle";
var offsetPos={offsetX:100,offsetY:100};
letterText.x = Laya.stage.width - letterText.width>>1 +offsetPos.offsetX;
letterText.y = 400;
Laya.Tween.to(letterText,{y:100,update:new Laya.Handler(this,this.changeColor,[letterText])},3000,Laya
.Ease.backOut,Laya.Handler.create(this,this.onEaseComplete),1000,null,true);
function onEaseComplete(){
console.log("ease complete");
}
function changeColor(text){
console.log("update");
var c = Math.floor(Math.random()*4);
console.log(c);
switch(c)
{
case 0:text.color='red';break;
case 1:text.color="blue";break;
case 2:text.color ='black';break;
case 3:text.color = 'green';break;
case 4:text.color = "yellow";break;
}
console.log(text.color);
}
```
总结以上出现的尚未解决问题:
1. 想要from起作用,那么Laya.stage.addChild(letterText)放的位置在from的前后都可以吗?如果可以放在后面,那这种情况怎么控制complete回调和addChild的顺序?
2. new Handler (在加载图片loadImage时可行)和new Laya.Handler(在from的Props的update回调函数时可行) 和 Laya.Handler.create (在加载图集和from的complete回调函数时可行)的区别?为什么会在交替使用时失败?
没有找到相关结果
已邀请:
要回复问题请先登录
1 个回复
Aar0n
赞同来自: