数值滚动
if(Number(this.energy_label.string) != Number(orc.orc_data.memory_data.user_info.energy))
{
var val_change = Number(orc.orc_data.memory_data.user_info.energy) - Number(this.energy_label.string);
console.log('energy:',this.energy_label.string,orc.orc_data.memory_data.user_info.energy,val_change);
if(val_change/5 !=0)
{
val_change = Math.floor(val_change/5);
let i = 0;
this.energy_label.schedule(()=>{
i++;
if(i >= 5)
{
this.energy_label.string = String(orc.orc_data.memory_data.user_info.energy);
}
else
{
this.energy_label.string = String(Number(this.energy_label.string) + val_change);
console.log('val_change:',val_change);
}
},0.1,5,0)
}
else
{
this.energy_label.string = String(orc.orc_data.memory_data.user_info.energy);
}
}
//tween 新方案
let sdk: any = {
a: 0,
}
//this.com.level_node.children[1].getComponent(cc.Label).string = String(a);
cc.tween(sdk)
.to(1, { a: this.server_data.cardRate[0] }, {
progress: (start, end, current, time) => {
// this.lab.string = Math.round(start + (end - start) * time) + '';//修改页面上的值
//console.log('修改ing', start + (end - start) * time);
//this.com.level_node.children[1].getComponent(cc.Label).string = (this.server_data.cardRate[2] * 100) / 100).toFixed(2) + '%';
this.com.level_node.children[1].getComponent(cc.Label).string = ((start + (end - start) * time * 100) / 100).toFixed(2) + '%';
return start + (end - start) * time;
},
// easing: "quintOut",
})
.start();
金币动画
playAnim()
{
let randomCount = Math.random() * 15 + 10;
let stPos = this.startPoint.getPosition();
let edPos = this.endPoint.getPosition();
this.playCoinFlyAnim(randomCount, stPos, edPos);
}
playCoinFlyAnim(count: number, stPos: cc.Vec2, edPos: cc.Vec2, r: number = 130)
{
// 确保当前节点池有足够的金币
const poolSize = this.coinPool.size();
const reCreateCoinCount = poolSize > count ? 0 : count - poolSize;
this.initCoinPool(reCreateCoinCount);
// 生成圆,并且对圆上的点进行排序
let points = this.getCirclePoints(r, stPos, count);
let coinNodeList = points.map(pos => {
let coin = this.coinPool.get();
coin.setPosition(stPos);
this.node.addChild(coin);
return {
node: coin,
stPos: stPos,
mdPos: pos,
edPos: edPos,
dis: (pos as any).sub(edPos).mag()
};
});
coinNodeList = coinNodeList.sort((a, b) => {
if (a.dis - b.dis > 0) return 1;
if (a.dis - b.dis < 0) return -1;
return 0;
});
this.energy_label.scheduleOnce(()=>{
orc.event_manager.dispatch_event('game_main_show',false,'vip'); //显示用户等级+金币
},0.8)
// 执行金币落袋的动画
coinNodeList.forEach((item, idx) => {
item.node.runAction(
cc.sequence(
cc.moveTo(0.3, item.mdPos),
cc.delayTime(idx * 0.01),
cc.moveTo(0.5, item.edPos),
cc.callFunc(() => {
this.coinPool.put(item.node);
})
)
);
});
}
网友评论