| 150 | } |
| 151 | |
| 152 | void SampleScene::update(float delta) |
| 153 | { |
| 154 | Node::update(delta); |
| 155 | |
| 156 | { |
| 157 | auto winSize = Director::getInstance()->getWinSize(); |
| 158 | auto visibleSize = Director::getInstance()->getVisibleSize(); |
| 159 | Vec2 origin = Director::getInstance()->getVisibleOrigin(); |
| 160 | // 端に隙間なく位置すると端末によっては描画されないことがあるのでマージンを設ける |
| 161 | Vec2 margin = Vec2(20, 20); |
| 162 | |
| 163 | if (_changeItem) |
| 164 | { |
| 165 | float x = origin.x + visibleSize.width - _changeItem->getContentSize().width / 2 - margin.x; |
| 166 | float y = getContentSize().height - _changeItem->getContentSize().height / 2 - margin.y; |
| 167 | _changeItem->setPosition(Vec2(x,y)); |
| 168 | } |
| 169 | |
| 170 | if (_closeItem) |
| 171 | { |
| 172 | float x = origin.x + visibleSize.width - _closeItem->getContentSize().width / 2 - margin.x; |
| 173 | float y = origin.y + _closeItem->getContentSize().height / 2 + margin.y; |
| 174 | _closeItem->setPosition(Vec2(x,y)); |
| 175 | } |
| 176 | } |
| 177 | } |
| 178 | |
| 179 | void SampleScene::onExit() |
| 180 | { |