Commit b09336cf authored by Chen Jiping's avatar Chen Jiping

feat:完成模板开发

parent b5dadd1e
......@@ -4,6 +4,8 @@ export class ExercisesBean{
answerIndex;
indexAudioUrl;
answer : AnswerBean;
}
......
......@@ -11,9 +11,9 @@ export class Exercises {
bg: ShapeRect;
answer1: ShapeRect;
answer: ShapeRect;
answer2: ShapeRect;
answerLabel: Label2;
scaleX = 1;
......@@ -21,7 +21,9 @@ export class Exercises {
answered: Boolean = false;
rightPic: MySprite;
indexLabel : Label;
indexLabelBg : ShapeRect;
init(images, indexBgColor, data, scaleX = 1, scaleY = 1) {
......@@ -35,6 +37,8 @@ export class Exercises {
this.indexBgColor = indexBgColor;
this.index = this.data.answerIndex;
this.initBg();
this.initIndex();
......@@ -45,7 +49,7 @@ export class Exercises {
initBg() {
let height = 48 * this.scaleY;
let width = 580 * this.scaleX;
let width = 284 * this.scaleX;
const bg = new ShapeRect();
bg.setSize(width, height);
......@@ -53,14 +57,15 @@ export class Exercises {
this.bg = bg;
}
initIndex(){
let indexBg = new ShapeCircle();
indexBg.setRadius(23 * this.scaleX);
initIndex() {
let indexBg = new ShapeRect();
indexBg.setSize(43 * this.scaleX, 46 * this.scaleY);
indexBg.fillColor = this.indexBgColor;
indexBg.x = indexBg.width / 2;
indexBg.y = this.bg.height / 2;
indexBg.x = 0;
indexBg.y = (this.bg.height - indexBg.height) / 2;
indexBg.alpha = 0.7;
this.bg.addChild(indexBg);
this.indexLabelBg = indexBg;
let index = new Label();
index.text = this.index + "";
......@@ -70,46 +75,30 @@ export class Exercises {
index.fontColor = "#ffffff";
index.setScaleXY(this.scaleX);
index.refreshSize();
index.x = 0;
index.y = 0;
index.x = indexBg.width / 2;
index.y = indexBg.height / 2;
indexBg.addChild(index);
index.alpha = 0;
this.indexLabel = index;
}
initAnswer(){
let startX = 46 * this.scaleX + 7 * this.scaleX;
let answer1 = this.getAnswerView(this.data.answer1);
answer1.x = startX;
this.answer1 = answer1;
initAnswer() {
let answer2 = this.getAnswerView(this.data.answer2);
answer2.x = startX + 253 * this.scaleX;
this.answer2 = answer2;
let startX = 43 * this.scaleX + 8 * this.scaleX;
const rightPic = new MySprite();
rightPic.init(this.images.get('circle'));
rightPic.setScaleXY(this.scaleX);
rightPic.alpha = 0;
rightPic.y = this.bg.height / 2;
this.rightPic = rightPic;
if(this.data.answerIndex == '1'){
rightPic.x = answer1.x + answer1.width / 2;
}
else if(this.data.answerIndex == '2'){
rightPic.x = answer2.x + answer2.width / 2;
}
let answer = this.getAnswerView(this.data.answer);
answer.x = startX;
this.answer = answer;
this.bg.addChild(rightPic);
this.bg.addChild(answer);
}
getAnswerView(answerData){
getAnswerView(answerData) {
const getLabelText = (letter) => {
const text = new LabelText();
text.val = letter.val;
if (letter.isFill == '1') {
text.fontColor = "#c8161d";
text.fontColor = "#c5c5c5";
}
else {
text.fontColor = "#000000";
......@@ -119,7 +108,7 @@ export class Exercises {
return text;
}
let labelTextArr = [];
......@@ -129,7 +118,7 @@ export class Exercises {
let label = getLabelText(letter);
labelTextArr.push(label);
labelTextArr.push(label);
}
const answer = new Label2();
......@@ -138,7 +127,8 @@ export class Exercises {
answer.fontName = "MMB";
answer.setScaleXY(this.scaleX);
answer.refreshSize();
this.answerLabel = answer;
const answerBg = new ShapeRect();
answerBg.alpha = 0;
answerBg.setSize(answer.getBoundingBox().width, answer.getBoundingBox().height);
......@@ -149,18 +139,27 @@ export class Exercises {
answerBg.addChild(answer);
this.bg.addChild(answerBg);
return answerBg;
}
checkAnswer(answerIndex) {
if(this.data.answerIndex == answerIndex){
this.rightPic.alpha = 1;
if (this.data.answerIndex == answerIndex) {
this.indexLabel.alpha = 1
this.answered = true;
let textArr = this.answerLabel.textArr;
for (let i = 0; i < textArr.length; ++i) {
if (textArr[i].fontColor == "#c5c5c5") {
textArr[i].fontColor = "#c8161d";
}
}
return true;
}
......
......@@ -52,6 +52,7 @@ export class Letter{
letter.fontName = "BRLNSDB";
letter.fontColor = "#ffffff";
letter.setScaleXY(this.scaleX);
letter.setMaxSize(80 * this.scaleX);
letter.refreshSize();
letter.x = 0;
letter.y = 0;
......
This diff is collapsed.
......@@ -2,7 +2,6 @@ const res = [
['play', "assets/play/play.png"],
['stop', "assets/play/stop.png"],
['circle', "assets/play/circle.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