PuzzleSDK
QuestionContainerSprite类 参考

#include <QuestionContainerSprite.h>

+ 类 QuestionContainerSprite 继承关系图:
+ QuestionContainerSprite 的协作图:

Public 成员函数

virtual bool init () override
 

详细描述

在文件 QuestionContainerSprite.h30 行定义.

成员函数说明

◆ init()

bool QuestionContainerSprite::init ( )
overridevirtual

在文件 QuestionContainerSprite.cpp31 行定义.

32{
33 if (Sprite::init())
34 {
35 //Add label
36 auto label = Label::createWithTTF("Answer 1", "fonts/arial.ttf", 12);
37 label->setTag(100);
38
39 //Add the background
40 auto size = Director::getInstance()->getWinSize();
41 auto corner = Sprite::create("Images/bugs/corner.png");
42
43 int width = size.width * 0.9f - (corner->getContentSize().width * 2);
44 int height = size.height * 0.15f - (corner->getContentSize().height * 2);
45 auto layer = LayerColor::create(Color4B(255, 255, 255, 255 * .75), width, height);
46 layer->setPosition(Vec2(-width / 2, -height / 2));
47
48 //First button is blue,
49 //Second is red
50 //Used for testing - change later
51 static int a = 0;
52
53 if (a == 0)
54 label->setColor(Color3B::BLUE);
55 else
56 {
57 log("Color changed");
58 label->setColor(Color3B::RED);
59 }
60 a++;
61 addChild(layer);
62
63 corner->setPosition(Vec2(-(width / 2 + corner->getContentSize().width / 2), -(height / 2 + corner->getContentSize().height / 2)));
64 addChild(corner);
65
66 auto corner2 = Sprite::create("Images/bugs/corner.png");
67 corner2->setPosition(Vec2(-corner->getPosition().x, corner->getPosition().y));
68 corner2->setFlippedX(true);
69 addChild(corner2);
70
71 auto corner3 = Sprite::create("Images/bugs/corner.png");
72 corner3->setPosition(Vec2(corner->getPosition().x, -corner->getPosition().y));
73 corner3->setFlippedY(true);
74 addChild(corner3);
75
76 auto corner4 = Sprite::create("Images/bugs/corner.png");
77 corner4->setPosition(Vec2(corner2->getPosition().x, -corner2->getPosition().y));
78 corner4->setFlippedX(true);
79 corner4->setFlippedY(true);
80 addChild(corner4);
81
82 auto edge = Sprite::create("Images/bugs/edge.png");
83 edge->setScaleX(width);
84 edge->setPosition(Vec2(corner->getPosition().x + (corner->getContentSize().width / 2) + (width / 2), corner->getPosition().y));
85 addChild(edge);
86
87 auto edge2 = Sprite::create("Images/bugs/edge.png");
88 edge2->setScaleX(width);
89 edge2->setPosition(Vec2(corner->getPosition().x + (corner->getContentSize().width / 2) + (width / 2), -corner->getPosition().y));
90 edge2->setFlippedY(true);
91 addChild(edge2);
92
93 auto edge3 = Sprite::create("Images/bugs/edge.png");
94 edge3->setRotation(90);
95 edge3->setScaleX(height);
96 edge3->setPosition(Vec2(corner->getPosition().x, corner->getPosition().y + (corner->getContentSize().height / 2) + (height / 2)));
97 addChild(edge3);
98
99 auto edge4 = Sprite::create("Images/bugs/edge.png");
100 edge4->setRotation(270);
101 edge4->setScaleX(height);
102 edge4->setPosition(Vec2(-corner->getPosition().x, corner->getPosition().y + (corner->getContentSize().height / 2) + (height / 2)));
103 addChild(edge4);
104
105 addChild(label);
106 return true;
107 }
108
109 return false;
110}

被这些函数引用 Bug458Layer::init().

+ 这是这个函数的调用关系图:

该类的文档由以下文件生成: