No.1873 Re[12]:カードコレクションでのページ切り替え |
> こんな感じにして、ここで選択したカテゴリだけを、表示させたいと思うのですが方法が全く分からず…
> そもそもこの指定の仕方で良いのかどうかも不安ではあるのですが…汗
それで良いと思います。
選択したカテゴリだけを表示するのは前回の返信で書いた
> > あと、grepの結果は最後に評価された値で決まるので比較処理を並べるのではなく渡されてきたカテゴリー($Fm{'category'})との比較を行うだけで良いです。
のことであり、
> #カテゴリ
> @fitems = grep {
> ($item,$sts) = split(/△/, $_);# カード名とステータスに分割
> $card_name_hash{$item}->{'category'} eq 'カテゴリーA'; #カテゴリーが「カテゴリーA」かどうか
> $card_name_hash{$item}->{'category'} eq 'カテゴリーB';
> $card_name_hash{$item}->{'category'} eq 'カテゴリーC';
> } @fitems;
> #カテゴリ
この部分の「$card_name_hash〜」の3行を「$card_name_hash{$item}->{'category'} eq $Fm{'category'};」にするということです。
あと、
> …中略…
>
> require 'cardimg.pl'; # ループ中で毎回requireするのは無駄なので場所はforeach以前が良い
>
> #カテゴリ
略...
> #カテゴリ
>
> foreach $items (@fitems) {
上記を見た限り、
・「foreach $items (@fitems[$start .. $end]){」が「foreach $items (@fitems) {」に戻っている。
・「require 'cardimg.pl';」と「#カテゴリ 〜 #カテゴリ」が
> if(@fitems){
> $start = $start < 0 ? 0 : $start > $#fitems ? $#fitems : $start; # 開始位置を調整
> $end = $start + 5; # 終了位置
> $end = $end > $#fitems ? $#fitems : $end; # 終了位置を調整
の前ではない?
> こんな感じになっているのですが、これだとカテゴリ分けもされずコレクションしたカードの先頭の1枚しか表示されない感じで…
1種類(カテゴリーC)だけしか表示されないのはわかりますが、1枚しか表示されないというのは提示されたコードをざっと見ただけでは原因がわかりませんでした。
▼関連発言
│
└◆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
◇題名は、短くわかりやすく書いてください。 ◇過去に同じ内容が投稿されていないか検索してから書き込んで下さい。 ◇管理人の判断により相応しくない投稿は削除します。 |