设计分辨率
竖屏用 720 * 1280 , Fit Width 使用宽度
横屏用 1280 * 720 , Fit Height 使用高度
背景素材 1600 * 720 或者 720 * 1600,长段到1700 也是可以的,这是为了应对 现在的大手机
图片填充
这个简单,直接缩放精灵就行,但是要选择 type 就是模式 为 tiled 模式
自定义字体
这个有点复杂,我单独写一篇文章
https://blog.csdn.net/weixin_42249565/article/details/154875595 点击这里
判断精灵是不是离开屏幕
javascript
// 缓冲区大小,可调整,这里是飞出去多少才死
buffer: number = 10;
update(deltaTime: number) {
if (this.checkOutOfScreen()) {
log("超出范围",this.node.x,this.node.y);
this.destroyNode();
}
}
//判断精灵是否飞出屏幕
checkOutOfScreen(): boolean {
const pos = this.node.getWorldPosition();
const screen = view.getVisibleSize();
return pos.x < -this.buffer ||
pos.x > screen.width + this.buffer ||
pos.y < -this.buffer ||
pos.y > screen.height + this.buffer;
}
destroyNode() {
// 销毁节点
this.node.destroy();
// 如果精灵节点有父节点管理,有时也需要从父节点移除
// this.node.removeFromParent();
}
类型设定
javascript
// 基本数值类型
@property(CCInteger)
speed: number = 5;
@property(CCFloat)
acceleration: number = 1.5;
@property(CCFloat)
jumpForce: number = 8.5;
// 字符串和布尔类型
@property(CCString)
dogName: string = "旺财";
@property(CCBoolean)
isAlive: boolean = true;
@property(CCBoolean)
canJump: boolean = true;
// 引用其他组件或节点
@property(Node)
target: Node = null;
@property(Sprite)
dogSprite: Sprite = null;
// 向量和颜色
@property(Vec2)
initialPosition: Vec2 = new Vec2(0, 0);
@property(Color)
dogColor: Color = Color.WHITE;
// 数组类型
@property([CCInteger])
speedLevels: number[] = [1, 2, 3, 5, 8];
@property([Node])
waypoints: Node[] = [];