Commit d0e39d58 authored by 李维's avatar 李维

dev commit

parent 1d000050
...@@ -114,6 +114,7 @@ export class PlayComponent implements OnInit, OnDestroy { ...@@ -114,6 +114,7 @@ export class PlayComponent implements OnInit, OnDestroy {
m_enableRunway = false; m_enableRunway = false;
m_pickupCard = false; m_pickupCard = false;
m_currentPickupCardID = null; m_currentPickupCardID = null;
m_allSelectedHotZone = []
// ------------------------------------ // ------------------------------------
...@@ -177,6 +178,8 @@ export class PlayComponent implements OnInit, OnDestroy { ...@@ -177,6 +178,8 @@ export class PlayComponent implements OnInit, OnDestroy {
this.initCards() this.initCards()
this.initLights() this.initLights()
this.cardRunControl(true) this.cardRunControl(true)
this.initSelectedCardArea()
this.initStartButton()
} }
cleanGameVar(){ cleanGameVar(){
...@@ -194,6 +197,7 @@ export class PlayComponent implements OnInit, OnDestroy { ...@@ -194,6 +197,7 @@ export class PlayComponent implements OnInit, OnDestroy {
this.m_enableRunway = false; this.m_enableRunway = false;
this.m_pickupCard = false; this.m_pickupCard = false;
this.m_currentPickupCardID = null; this.m_currentPickupCardID = null;
this.m_allSelectedHotZone = []
} }
endGame(){ endGame(){
...@@ -286,16 +290,6 @@ export class PlayComponent implements OnInit, OnDestroy { ...@@ -286,16 +290,6 @@ export class PlayComponent implements OnInit, OnDestroy {
y: this.g_cartoon.getOrigin().y+ (h/2)*this.g_mapScale + 481*this.g_mapScale y: this.g_cartoon.getOrigin().y+ (h/2)*this.g_mapScale + 481*this.g_mapScale
} }
}) })
this.subscribeMapUpEvent('card-container', ()=>{
if(this.m_currentPickupCardID){
let card = this.g_cartoon.getCartoonElement(this.m_currentPickupCardID)
if(card.parentID){
this.g_cartoon.getCartoonElement(card.parentID).content = null
card.parentID = null;
}
}
})
this.render(element.ref) this.render(element.ref)
} }
...@@ -305,7 +299,7 @@ export class PlayComponent implements OnInit, OnDestroy { ...@@ -305,7 +299,7 @@ export class PlayComponent implements OnInit, OnDestroy {
let boundingBox = this.g_cartoon.getCartoonElement('card-runway').ref.getBoundingBox() let boundingBox = this.g_cartoon.getCartoonElement('card-runway').ref.getBoundingBox()
let cardWidth = 244*this.g_mapScale let cardWidth = 244*this.g_mapScale
let cardNumber = Math.ceil(this.g_canvasWidth/cardWidth); let cardNumber = Math.ceil(this.g_canvasWidth/cardWidth);
for(let index=0; index<50; index++){ for(let index=0; index<10; index++){
let newCard = this.createCard(index,index*cardWidth,boundingBox.y); let newCard = this.createCard(index,index*cardWidth,boundingBox.y);
if(index>=cardNumber){ if(index>=cardNumber){
newCard.ref.x = -999 newCard.ref.x = -999
...@@ -333,10 +327,6 @@ export class PlayComponent implements OnInit, OnDestroy { ...@@ -333,10 +327,6 @@ export class PlayComponent implements OnInit, OnDestroy {
} }
}) })
element.content = null; element.content = null;
// let imageContainer= new MySprite()
// imageContainer.init(this.g_cartoon.images.get("card"))
// imageContainer.setScaleXY(180/imageContainer.width)
// element.ref.addChild(imageContainer)
// 可移动卡片 // 可移动卡片
let cardContent = this.g_cartoon.createCartoonElementImageFunc(`card-content-${index}`, "card", (w,h)=>{ let cardContent = this.g_cartoon.createCartoonElementImageFunc(`card-content-${index}`, "card", (w,h)=>{
...@@ -360,6 +350,7 @@ export class PlayComponent implements OnInit, OnDestroy { ...@@ -360,6 +350,7 @@ export class PlayComponent implements OnInit, OnDestroy {
} }
this.m_pickupCard = true; this.m_pickupCard = true;
this.m_currentPickupCardID = `card-content-${index}` this.m_currentPickupCardID = `card-content-${index}`
this.g_cartoon.getCartoonElement(`selected-card-hotzone`).show()
this.topOfRenderArray(cardContent.ref) this.topOfRenderArray(cardContent.ref)
this.g_enableMapDown = true; this.g_enableMapDown = true;
}) })
...@@ -375,16 +366,17 @@ export class PlayComponent implements OnInit, OnDestroy { ...@@ -375,16 +366,17 @@ export class PlayComponent implements OnInit, OnDestroy {
this.subscribeMapUpEvent(`card-content-${index}`, ()=>{ this.subscribeMapUpEvent(`card-content-${index}`, ()=>{
let card = cardContent let card = cardContent
if(card.canMove){ if(card.canMove){
setTimeout(()=>{
card.canMove = false; card.canMove = false;
card.backToParent() card.backToParent()
this.g_cartoon.getCartoonElement(`selected-card-hotzone`).hide()
this.m_pickupCard = false; this.m_pickupCard = false;
},100)
} }
this.g_enableMapUp = true; this.g_enableMapUp = true;
}) })
element.content = cardContent element.content = cardContent
cardContent.backToParent = ()=>{ cardContent.backToParent = ()=>{
cardContent.canMove = false; cardContent.canMove = false;
this.m_pickupCard = false; this.m_pickupCard = false;
...@@ -425,8 +417,7 @@ export class PlayComponent implements OnInit, OnDestroy { ...@@ -425,8 +417,7 @@ export class PlayComponent implements OnInit, OnDestroy {
} }
element.setContent = (content)=>{ element.setContent = (content)=>{
content.ref.x = element.ref.x tweenChange(content.ref, {x:element.ref.x, y:element.ref.y}, 0.1)
content.ref.y = element.ref.y
element.content = content element.content = content
content.parentID = element.id content.parentID = element.id
} }
...@@ -590,10 +581,99 @@ export class PlayComponent implements OnInit, OnDestroy { ...@@ -590,10 +581,99 @@ export class PlayComponent implements OnInit, OnDestroy {
this.g_cartoon.getCartoonElement(id).waiting = true; this.g_cartoon.getCartoonElement(id).waiting = true;
this.m_rightBuffer.push(id) this.m_rightBuffer.push(id)
} }
} }
// 已选择卡片放置点
initSelectedCardArea(){
let totalLightCount = Math.floor(this.g_canvasWidth / (190*this.g_mapScale))-1
let element = this.g_cartoon.createCartoonElementImageFunc(`selected-card-hotzone`, "bg_1280_180", (w,h)=>{
return {
sx: 1,//this.g_canvasWidth/w,
sy: 1//(180*this.g_mapScale)/h
}
}, (w,h)=>{
return {
x: this.g_canvasWidth/2,
y: this.g_canvasHeight/2 + 165*this.g_mapScale
}
})
element.ref.alpha = 0;
let base_X = -1*(200*this.g_mapScale*totalLightCount)/2
for(let index=0; index<totalLightCount; index++){
let a = index%2==1?-1:1
element.ref.addChild(this.createSelectedCardArea(index,base_X + 190*this.g_mapScale*index,0))
}
element.show = ()=>{
this.m_allSelectedHotZone.forEach((id)=>{
tweenChange(this.g_cartoon.getCartoonElement(id).ref, {alpha:0.7}, 0.2)
})
}
element.hide = ()=>{
this.m_allSelectedHotZone.forEach((id)=>{
tweenChange(this.g_cartoon.getCartoonElement(id).ref, {alpha:0}, 0.2)
})
}
this.render(element.ref)
}
createSelectedCardArea(index,x,y){
let element = this.g_cartoon.createCartoonElementImageFunc(`selected-card-hotzone-${index}`, "bg_selected_card", (w,h)=>{
return {
sx: 180*this.g_mapScale/w,
sy: 180*this.g_mapScale/h
}
}, (w,h)=>{
return {
x: x + 90*this.g_mapScale,
y: y
}
})
element.ref.alpha = 0;
element.content = null
element.setContent = (content)=>{
let box = element.ref.getBoundingBox()
tweenChange(content.ref, {x:box.x + box.width/2, y:box.y + box.height/2}, 0.2)
element.content = content
content.parentID = element.id
}
this.subscribeMapUpEvent(`selected-card-hotzone-${index}`, ()=>{
if(!element.content){
if(this.m_currentPickupCardID){
let card = this.g_cartoon.getCartoonElement(this.m_currentPickupCardID)
if(card.parentID){
this.g_cartoon.getCartoonElement(card.parentID).content = null;
}
element.setContent(this.g_cartoon.getCartoonElement(this.m_currentPickupCardID))
this.m_currentPickupCardID = null;
}
}
this.g_enableMapUp = true;
})
this.m_allSelectedHotZone.push(element.id)
return element.ref
}
initStartButton(){
let element = this.g_cartoon.createCartoonElementImageFunc("start-button", "btn-ok", (w,h)=>{
return {
sx: 128*this.g_mapScale/w,
sy: 128*this.g_mapScale/h
}
}, (w,h)=>{
return {
x: this.g_canvasWidth - 36*this.g_mapScale - (h/2)*this.g_mapScale,
y: 554*this.g_mapScale + (h/2)*this.g_mapScale
}
})
this.render(element.ref)
}
......
...@@ -39,7 +39,9 @@ const localImages = { ...@@ -39,7 +39,9 @@ const localImages = {
'bg_title': 'assets/play/bg_title.png', 'bg_title': 'assets/play/bg_title.png',
'bg_card': 'assets/play/bg_card.png', 'bg_card': 'assets/play/bg_card.png',
'bg_card_runway': 'assets/play/bg_card_runway.png', 'bg_card_runway': 'assets/play/bg_card_runway.png',
'text_container': 'assets/play/text_container.png' 'text_container': 'assets/play/text_container.png',
'bg_selected_card': 'assets/play/bg_selected_card.png',
'bg_1280_180': 'assets/play/bg_1280_180_1.png'
}; };
......
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