私設SoS2オーナー応援BBS

新規発言一覧最新記事過去一覧検索ダウンロードページHOME

No.1862  Re:カードコレクションでのページ切り替え
発言者: moon
発言日: 2015 08/17 20:47
> # Sub Collection #内のデータを、プレイヤーリストのように、ある一定の数ごとにページ切り替えできるようにしたいと考えているのですが、プレイヤーリストを見ても、どう行えば良いのか全く分からず…

ページ番号もしくは開始位置さえ渡せればsub collectionの「(4/25)修正」とコメントが付いているほうのforeachを以下のようにすれば良いはずです。
なお、すべて表示とカテゴリ分けは考慮していません。
  # $startに開始位置(0〜)が入っているものとする
  if(@fitems){
    $start = $start < 0 ? 0 : $start > $#fitems ? $#fitems : $start; # 開始位置を調整
    $end = $start + 20; # 終了位置、1ページ最大20件の場合
    $end = $end > $#fitems ? $#fitems : $end; # 終了位置を調整
    foreach $items (@fitems[$start .. $end]){ # $startから$endの範囲をループさせる
      # ループ内の処理
    }
  }

> できれば、カードをカテゴリ分けして、そのカテゴリごとにページ切り替えしたいと考えていたりもします…!
>
>
> 【第1弾】【第2弾】【第3弾】・・・
> みたいな感じで、カテゴリは今後も増やしていきたいと思っており…
>
> この場合、カードにカテゴリ分けする何らかの数値を追加しないといけなくなりますでしょうか…?

アイテムのステータスに持たせるか、以前の画像ファイル名の時のようにコード上にハッシュ等で持たせるか、という方法が考えられます。
ハッシュで持たせる方法としては、以下のように定義すれば見た目は複雑ですが画像ファイル名と一緒に扱えます。
  %card_name_hash = (
    'カード名1' => {
      'image' => '画像ファイル名1',
      'category' => 'カテゴリーA',
    },
    'カード名2' => {
      'image' => '画像ファイル名2',
      'category' => 'カテゴリーB',
    },
    'カード名n' => {
      'image' => '画像ファイル名n',
      'category' => 'カテゴリーX',
    },
  );
  # カード名1の画像ファイル名「$card_name_hash{'カード名1'}->{'image'}」
  # カード名1のカテゴリー「$card_name_hash{'カード名1'}->{'category'}」

▼関連発言

1861:カードコレクションでのページ切り替え [YOUME] 08/17 18:11
 └1862:Re:カードコレクションでのページ切り替え [moon] 08/17 20:47
  └1863:Re[2]:カードコレクションでのページ切り替え [YOUME] 08/18 09:41
   └1864:Re[3]:カードコレクションでのページ切り替え [moon] 08/18 20:08
    └1865:Re[4]:カードコレクションでのページ切り替え.. [YOUME] 08/19 08:32
     └1866:Re[5]:カードコレクションでのページ切り替.. [YOUME] 08/26 10:57
      └1867:Re[6]:カードコレクションでのページ切り.. [YOUME] 08/26 11:57
       └1868:Re[7]:カードコレクションでのページ切.. [moon] 08/26 20:32
        └1869:Re[8]:カードコレクションでのページ.. [moon] 08/26 21:13
         └1870:Re[9]:カードコレクションでのペー.. [YOUME] 09/01 10:30
          └1871:Re[10]:カードコレクションでの... [moon] 09/01 13:13
           └1872:Re[11]:カードコレクションで... [YOUME] 09/27 08:15
            └1873:Re[12]:カードコレクション... [moon] 09/27 09:34
             └1874:Re[13]:カードコレクショ... [YOUME] 09/27 19:25
              └1875:Re[14]:カードコレクシ... [moon] 09/27 21:11<-last

  返信フォーム [引用]
名 前 保存
題 名
発 言
PASSWORD
投稿確認必ずチェックを入れてください。こちらにはチェックを入れないでください。
書き込む
◇題名は、短くわかりやすく書いてください。
◇過去に同じ内容が投稿されていないか検索してから書き込んで下さい。
◇管理人の判断により相応しくない投稿は削除します。

Pass 保存


CGIROOM