Commit 8ce7dc3b authored by 张子元's avatar 张子元

feat:添加气泡内数据

parent 5396b7b4
This diff is collapsed.
...@@ -23,6 +23,7 @@ export default class SceneComponent extends MyCocosSceneComponent { ...@@ -23,6 +23,7 @@ export default class SceneComponent extends MyCocosSceneComponent {
private speed: number; private speed: number;
private isCorrect: boolean; private isCorrect: boolean;
private targetPosition: number; private targetPosition: number;
private touchNumber: number = 1;
async onLoadEnd() { async onLoadEnd() {
// TODO 加载完成后的逻辑写在这里, 下面的代码仅供参考 // TODO 加载完成后的逻辑写在这里, 下面的代码仅供参考
...@@ -33,6 +34,7 @@ export default class SceneComponent extends MyCocosSceneComponent { ...@@ -33,6 +34,7 @@ export default class SceneComponent extends MyCocosSceneComponent {
} }
initData() { initData() {
this.speed = 30 this.speed = 30
console.log(this.data)
} }
initView() { } initView() { }
initEvent() { initEvent() {
...@@ -54,40 +56,57 @@ export default class SceneComponent extends MyCocosSceneComponent { ...@@ -54,40 +56,57 @@ export default class SceneComponent extends MyCocosSceneComponent {
} }
// 制造气泡 // 制造气泡
create_bubbles() { create_bubbles() {
let bottom_megaphone = pg.view.find(this, 'layer_game/bg/bottom_megaphone') if(this.touchNumber > this.data.questions[0].options.length) {
let layer_paopao = pg.view.find(this, 'layer_game/bg/layer_paopao') console.log('此题结束')
let paoaoParent = pg.view.find(this, 'layer_game/bg/paopao') } else {
let newPaoPao = cc.instantiate(paoaoParent) let bottom_megaphone = pg.view.find(this, 'layer_game/bg/bottom_megaphone')
pg.view.touchOn(newPaoPao, this.touchPaoPao, this) let layer_paopao = pg.view.find(this, 'layer_game/bg/layer_paopao')
let paopao = newPaoPao.getChildByName("bubble") let paoaoParent = pg.view.find(this, 'layer_game/bg/paopao')
let broken = newPaoPao.getChildByName("bubble_broken") let newPaoPao = cc.instantiate(paoaoParent)
let btn = cc.tween(bottom_megaphone) // 点击泡泡
layer_paopao.addChild(newPaoPao) pg.view.touchOn(newPaoPao, this.touchPaoPao, this)
btn.to(0.1, { x: -5 }).to(0.1, { x: 0 }).to(0.1, { x: 5 }).to(0.1, { x: 0 }) let paopao = newPaoPao.getChildByName("bubble")
btn.to(0.1, { x: -5 }).to(0.1, { x: 0 }).to(0.1, { x: 5 }).to(0.1, { x: 0 }) let broken = newPaoPao.getChildByName("bubble_broken")
.call(() => { let img = newPaoPao.getChildByName("img")
newPaoPao.x = 135 let text = newPaoPao.getChildByName("text")
newPaoPao.y = -450 // 判断是显示图片还是文字
paopao.width = 70 if(this.data.questions[0].options[this.touchNumber - 1].type === 'img') {
paopao.height = 70 pg.view.visible(img, true)
newPaoPao.opacity = 0 pg.view.visible(text, false)
pg.view.visible(newPaoPao, true) pg.view.setNetImg(img, this.data.questions[0].options[this.touchNumber - 1].image, { w:60, h:60 })
pg.view.visible(broken, false) } else {
// 点击泡泡 pg.view.visible(img, false)
cc.tween(newPaoPao).to(0.8, { opacity: 255 }).call(() => { pg.view.visible(text, true)
let positionY = Math.floor(Math.random() * 300) pg.view.setString(text, this.data.questions[0].options[this.touchNumber - 1].text)
let positionX = this.getPositionX() }
this.targetPosition = positionY let btn = cc.tween(bottom_megaphone)
cc.tween(newPaoPao).to(positionY / this.speed, { x: positionX, y: positionY, scale: 3 }).call(() => { layer_paopao.addChild(newPaoPao)
if (newPaoPao.y < cc.winSize.height + 105) { btn.to(0.1, { x: -5 }).to(0.1, { x: 0 }).to(0.1, { x: 5 }).to(0.1, { x: 0 })
cc.tween(newPaoPao).to((750 - newPaoPao.y) / this.speed, { y: cc.winSize.height + 105 }).call(() => { btn.to(0.1, { x: -5 }).to(0.1, { x: 0 }).to(0.1, { x: 5 }).to(0.1, { x: 0 })
newPaoPao.destroy() .call(() => {
}).start() newPaoPao.x = 135
} newPaoPao.y = -450
paopao.width = 70
paopao.height = 70
newPaoPao.opacity = 0
pg.view.visible(newPaoPao, true)
pg.view.visible(broken, false)
cc.tween(newPaoPao).to(0.8, { opacity: 255 }).call(() => {
let positionY = Math.floor(Math.random() * 300)
let positionX = this.getPositionX()
this.targetPosition = positionY
cc.tween(newPaoPao).to(positionY / this.speed, { x: positionX, y: positionY, scale: 3 }).call(() => {
if (newPaoPao.y < cc.winSize.height + 105) {
cc.tween(newPaoPao).to((750 - newPaoPao.y) / this.speed, { y: cc.winSize.height + 105 }).call(() => {
newPaoPao.destroy()
}).start()
}
}).start()
}).start() }).start()
}).start() })
}) btn.start()
btn.start() }
this.touchNumber++;
} }
getPositionX() { getPositionX() {
......
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