コルネの進捗や備忘録が記されたなにか

進捗や成果物や備忘録てきななにかを雑に更新していきます。

プレイヤー、ボム、爆炎のずれを調整する ~勉強会資料その12~


スポンサードリンク

このブログはPower Apps でローコーディングな勉強会 #14の資料その10になります。

勉強会中にプレイヤー、ボム、爆炎がステージの下のほうにいくにつれずれが生じてくることがわかりましたので、その解決策を記載します。

なぜずれていたのか

まず「なぜずれていたのか?」について説明すると、"TemplateSize = 0"の調整が上手くいってなかったからです。
ステージをよーく見てもらえると、ステージ下部にいくにつれ、ステージとステージの間に微妙に隙間があることがわかります。
これによりステージ下部にいくにつれ、ずれが出てきてしまっていたんですね。
こちらの修正方法について2通り説明します。

プレイヤー、ボム、爆炎の位置を調整する方法

プレイヤーのずれを修正する

ステージの下部にいくにつれ、プレイヤーとステージの見た目がずれてしまっています。
こちらを修正するために、以下の式を追加します。
まず、プレイヤーの大きさをステージの1マス分と揃えるために48とします。

PlayerImage.Width

48

PlayerImage.Height

48

続いて座標の調整です。
サイズを変更したことによる、調整値と、画面下部に従ってY成分にずれが発生することを考慮した式を追加します。

PlayerImage.X

_playerX + StageGallery.X - PlayerImage.Width / 8 + 8

PlayerImage.Y

_playerY + StageGallery.Y + 8 + (_playerY / 48 - 1)

X成分について、追加したのは"+ 8"です。
これは、"PlayerImage"のサイズを変更したことによる調整ですね。
Y成分についての"+ 8"についてもこちらは同じ理由となっています。
続いて、"+ (_playerY / 48 - 1)"の部分ですね。
こちらは、下部に行くに従ってずれが生じてきていますので、そのずれを補正するための式になっております。

ボムのずれを修正する

こちらの修正内容もプレイヤーの修正内容とほぼ一緒ですね。
まず幅と高さを、48に修正します。
その後、同様にXとYの修正を行います。

BombImage.X

_bombX + StageGallery.X - BombImage.Width / 8 + 8

BombImage.Y

_bombY + StageGallery.Y  + 8 + (_bombY / 48 - 1)

これでボムのずれも修正できました。

爆炎のずれを修正する

こちらもやりかたはこれまでの修正と同じです。
幅と高さについてはすでに調整済みかと思いますので、座標のみ修正します。

FireImage01.Y

_fire01Y + StageGallery.Y + (_fire01Y / 48 - 1)

FireImage02.Y

_fire02Y + StageGallery.Y + 8 + (_fire02Y / 48 - 1)

これで爆炎の修正も完了です!

ステージのずれを修正する方法

以前の記事でも紹介した通り、ギャラリーの"TemplateSize = 0"と設定しても、実際には"TemplateSize = 1"となっています。
なのでこちらを補正するための式が必要で、"Mod(15 - ThisItem.ID, 15)"という式を追加していたのですが、これだけでは足りなかったですね。
上記式では、横軸方向のずれの修正のみなされています。
なので縦軸方向のずれを修正する式も追加してあげましょう。

Image1.Y

Mod(15 - ThisItem.ID, 15) - (ThisItem.Y / 34) + ThisItem.Y

" - (ThisItem.Y / 34)"が縦軸方向のずれを修正する式になります!
これでステージの微妙な隙間が埋まったかと思います。


スポンサードリンク