Commit e435ad7e authored by wildfirecode's avatar wildfirecode

1

parent db4a5d0d
......@@ -62,7 +62,7 @@ export default class EgretRender {
display.rotation = getRotation(body.angle);
}
else
display.rotation = getRotation(body.angle);
display.rotation = getRotation(body.angle);
}
}
......@@ -79,6 +79,12 @@ export default class EgretRender {
return body;
}
polygon(x: number, y: number, sides: number, radius: number, display: egret.DisplayObject, options?: Matter.IChamferableBodyDefinition) {
const body = this.polygonToRender(x, y, sides, radius, display, options);
this.addBodyToWorld(body);
return body;
}
//工具方法
private addBodyToWorld(body: Matter.Body) {
Matter.World.add(this._engine.world, body);
......@@ -96,4 +102,11 @@ export default class EgretRender {
this.addBody(body, display);
return body;
}
private polygonToRender(x: number, y: number, sides: number, radius: number, display: egret.DisplayObject, options?: Matter.IChamferableBodyDefinition) {
const body = Matter.Bodies.polygon(x, y, sides, radius, options);
this.addBody(body, display);
return body;
}
}
\ No newline at end of file
......@@ -4,7 +4,11 @@ enum LabelType {
Gift,
Candy,
Gift2,
Gift3,
Candy2,
IceCream,
Donut,
Egg,
}
export default LabelType
\ No newline at end of file
......@@ -67,7 +67,10 @@ export default class StartScene extends StartSceneBase {
const { seesaw } = createBox(this);
this._seesaw = seesaw;
const reslist = ['boom', 'gift', 'gift2', 'candy', 'candy2', 'coin','icecream']
const reslist = ['boom', 'gift', 'gift2', 'candy', 'candy2',
'coin',
'donut',
'icecream']
await Promise.all(
reslist.map(res => RES.getResAsync(`${res}_json`))
);
......
......@@ -5,20 +5,17 @@ import StartScene from "./StartScene";
export default (_this: StartScene) => {
const startY = 984;
const startX = 100;
const forceScale = 5;
const forceScale = 7;
const leftStart = { x: startX, y: startY, forceX: 0.01 * forceScale };
const rightStart = { x: 750 - startX, y: startY, forceX: -0.01 * forceScale };
setInterval(() => {
const start = Math.random() > 0.5 ? leftStart : rightStart;
const size = 49;
const size = 49*1.3;
const maxsize = 49;
const baseItem = createItem(size / maxsize);
// const baseItem = createItem(size / maxsize);
let angle;
angle = 0;
//气泡纹理种气泡的尺寸默认100(总体还包含气泡周围的阴影效果)
//刚体和贴图尺寸比为1:1.12
const fallingCircle = _this._egretRender.circle(start.x, start.y, size / 2, baseItem,
// _this._egretRender.circle(375 + Math.random() * 200 - 100, 400 + 200 + 100, (size - 17) / 2, baseItem,
{
......
......@@ -3,8 +3,8 @@ import LabelType from "../LabelType";
const createDonut = (scale) => {
//气泡纹理种气泡的尺寸默认100(总体还包含气泡周围的阴影效果)
const texture = RES.getRes('gift2_json');
const animation = createMovieClip(texture, 1 * scale);//中间物体尺寸140px
const texture = RES.getRes('donut_json');
const animation = createMovieClip(texture, 98/166 * scale);//中间物体尺寸140px
return animation
}
......@@ -17,9 +17,9 @@ const createMovieClip = (spritesheet, scale) => {
frames: list,
position: [0, 0],
scale: scale,
anchor: [.444, .44]
anchor: [217/500, 228/500]
});
movieclip.lable = LabelType.Gift2
movieclip.lable = LabelType.Donut
return movieclip
}
......
......@@ -19,7 +19,7 @@ const createGiftMovieClip = (spritesheet, scale) => {
scale: scale,
anchor: [.444, .44]
});
movieclip.lable = LabelType.Gift2
movieclip.lable = LabelType.Egg
return movieclip
}
......
......@@ -19,7 +19,7 @@ const createGiftMovieClip = (spritesheet, scale) => {
scale: scale,
anchor: [.444, .44]
});
movieclip.lable = LabelType.Gift2
movieclip.lable = LabelType.Gift3
return movieclip
}
......
......@@ -4,22 +4,22 @@ import LabelType from "../LabelType";
const createIceCream = (scale) => {
//气泡纹理种气泡的尺寸默认100(总体还包含气泡周围的阴影效果)
const texture = RES.getRes('icecream_json');
const animation = createMovieClip(texture, 98/118 * scale);//中间物体尺寸140px
const animation = createMovieClip(texture, 98 / 118 * scale);//中间物体尺寸140px
return animation
}
const createMovieClip = (spritesheet, scale) => {
const list = ['礼盒0000', '礼盒0001', '礼盒0002', '礼盒0003', '礼盒0004', '礼盒0005', '礼盒0006',
'礼盒0007', '礼盒0008', '礼盒0009', '礼盒0010', '礼盒0011', '礼盒0012', '礼盒0013', '礼盒0014', '礼盒0015'];
'礼盒0007', '礼盒0008', '礼盒0009', '礼盒0010', '礼盒0011', '礼盒0012', '礼盒0013', '礼盒0014', '礼盒0015'];
const movieclip = new MovieClip({
spritesheet: spritesheet,
frameInterval: 4,
frameInterval: 8,
frames: list,
position: [0, 0],
scale: scale,
anchor: [220/500, 202/500]
anchor: [220 / 500, 202 / 500]
});
movieclip.lable = LabelType.Gift2
movieclip.lable = LabelType.IceCream
return movieclip
}
......
......@@ -7,7 +7,7 @@ import createIceCream from "./createIceCream";
import createGift3 from "./createGift3";
const createItem = (scale) => {
const funcs = [createIceCream];
const funcs = [createDonut,createBoom,createIceCream];
// const funcs = [createBoom, createIceCream, createDonut, createCandy2, createGift2, createGift3, createEgg];
const i = Math.floor(Math.random() * funcs.length);
const mc = funcs[i](scale);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment