[過去ログ] WOLF RPGエディター 質問スレ 其の11 [無断転載禁止]©2ch.net (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
290: 2018/05/21(月)11:26 ID:BD0hLtpQ(1/2) AAS
作りやすいってのはよくわからんけど

maxNumOfRow = 最大表示行数(Y方向)・1以上の定数
maxNumOfCol = 最大表示列数(X方向)・1以上の定数

numOfItem = アイテム所持数
numOfItemRow = アイテムを全て表示するために必要な行数(Y方向)

sizeOfAreaY = 縦方向のスクロールバー移動可能エリア・0以上の定数
sizeOfBarY = 縦方向のスクロールバーの大きさ

relativePosOfRow = 初期表示(全アイテム行数の一番上端にいる状態)における上端の行の位置を0とした場合の、現在表示している上端の行の位置(基本システムだと万能ウィンドウ縦スクロール位置とかそんな名前)
relativePosOfBarY = 移動可能エリア上端を0とした場合のスクロールバーの縦方向の相対画面座標

absPosOfAreaY = 移動可能エリア上端の画面座標(Y)・定数
barY = スクロールバーの上端の画面座標(Y)

として計算すると、
----------------------------------------

numOfItemRow = numOfItem / maxNumOfCol + (numOfItem % maxNumOfCol)
numOfItemRowはmaxNumOfRow未満の場合、maxNumOfRowまで引き上げる

sizeOfBarY = sizeOfAreaY * maxNumOfRow / numOfItemRow

relativePosOfBarY = relativePosOfRow * (sizeOfAreaY - sizeOfBarY) / (numOfItemRow - maxNumOfRow)
ウディタでは0除算は1除算として計算されるため、0除算の回避はしない

barY = relativePosOfBar + absPosOfAreaY

----------------------------------------
だいたいこんな感じで計算できる
1-
あと 712 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.009s