以下、図面を参照しつつ、本発明の様々な実施形態について説明する。ただし、本発明の技術的範囲はそれらの実施形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶ点に留意されたい。
(1)本実施形態の概略
本実施形態では、ユーザは、携帯端末を用いて、サーバから提供されるゲームを実行する。提供されるゲームは、ユーザが所有するゲーム媒体を用いた敵キャラクタ又は他ユーザとのバトル(対戦)、ゲームのシナリオに従って進行するクエスト等である。ゲーム媒体とは、ゲームに使用される電子データであり、例えば、カード、アイテム、キャラクタ及びアバタ等を含む。また、ゲーム媒体は、ゲームの進行に応じ、ユーザによって、ゲーム内で、取得、保有、使用、管理、交換、合成、強化、売却、廃棄、及び/又は贈与等され得る電子データであるが、ゲーム媒体の利用態様は本明細書で明示されるものには限られない。クエストとは、一般に、探索、ミッション等とも称されるものであり、複数のステージを有し、各ステージの処理を順次実行していくものである。
サーバは、バトルの対戦相手に関する情報、クエストのステージに関する情報、ゲームで使用されるキャラクタ、アイテム、各ユーザから掲示板に投稿されたコメント等の特定の項目に関する情報である項目情報を複数記憶する。バトルの対戦相手に関する情報は、バトルの対戦相手の名前、レベル、属性等である。クエストのステージに関する情報は、クエストのステージの名前、難易度等である。サーバは、携帯端末を介したユーザからの要求に従って、各ページに所定の項目情報が含まれる複数のページのそれぞれの識別番号(以下、ページ番号と称する)を並べてスクロール可能に携帯端末に表示させ、ユーザにより指定されたページに含まれる項目情報を携帯端末に表示させる。さらに、サーバは、各ページ番号が表示された表示領域内でユーザにより2点が指定された場合、指定された2点間の距離に応じたページ数分のページに含まれる項目情報を携帯端末に表示させる。これにより、ユーザが端末を操作する際のUXを向上させることを図る。
(2)ゲームシステム1の構成
図1は、ゲームシステム1の概略構成の一例を示す図である。
ゲームシステム1は、複数の携帯端末2と、サーバ3とを備える。携帯端末2とサーバ3とは、通信ネットワーク、例えば基地局5、移動体通信網6、ゲートウェイ7及びインターネット8を介して相互に接続される。携帯端末2で実行されるプログラム(例えば、閲覧プログラム)と、サーバ3で実行されるプログラム(例えば、ゲームプログラム)とは、ハイパーテキスト転送プロトコル(Hypertext Transfer Protocol, HTTP)等の通信プロトコルを用いて通信を行う。
(2.1)携帯端末2の構成
図2は、携帯端末2の概略構成の一例を示す図である。
携帯端末2は、基地局5、移動体通信網6、ゲートウェイ7、及びインターネット8を介してサーバ3に接続し、サーバ3と通信を行う。携帯端末2は、サーバ3から提供されるゲームを実行し、サーバ3に記憶された複数の項目情報を所定数ごとに複数のページに分割して表示する。携帯端末2は、各ページのページ番号をスクロール可能に表示し、ユーザによる操作部23を用いた操作により指定されたページ番号及びページ数に対応する項目情報をサーバ3から取得して表示する。そのために、携帯端末2は、端末通信部21と、端末記憶部22と、操作部23と、表示部24と、端末処理部25とを備える。
なお、本実施形態では、携帯端末2として、多機能携帯電話(所謂「スマートフォン」)を想定するが、本発明はこれに限定されるものではない。携帯端末2は、本発明が適用可能であればよく、例えば、携帯電話(所謂「フィーチャーフォン」)、携帯情報端末(Personal Digital Assistant, PDA)、携帯ゲーム機、携帯音楽プレーヤ、タブレットPC(Personal Computer)、パーソナルコンピュータ等でもよい。
端末通信部21は、所定の周波数帯を感受帯域とするアンテナを含む、通信インターフェース回路を備え、携帯端末2を無線通信ネットワークに接続する。端末通信部21は、基地局5により割り当てられるチャネルを介して、基地局5との間でCDMA(Code Division Multiple Access)方式等による無線信号回線を確立し、基地局5との間で通信を行う。そして、端末通信部21は、端末処理部25から供給されたデータをサーバ3等に送信する。また、端末通信部21は、サーバ3等から受信したデータを端末処理部25に供給する。なお、端末通信部21は、不図示のWifi(Wireless Fidelity)のアクセスポイントとの間でIEEE802.11規格の無線通信方式による無線通信を行うものでもよい。
端末記憶部22は、例えば、半導体メモリ、磁気ディスク装置、又は光ディスク装置のうちの少なくともいずれか一つを備える。端末記憶部22は、端末処理部25での処理に用いられるオペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム、データ等を記憶する。例えば、端末記憶部22は、ドライバプログラムとして、操作部23を制御する入力デバイスドライバプログラム、表示部24を制御する出力デバイスドライバプログラム等を記憶する。また、端末記憶部22は、アプリケーションプログラムとして、各ページのページ番号をスクロール可能に表示するとともに、ユーザにより指定されたページ番号及びページ数に対応する項目情報を表示する閲覧プログラム等を記憶する。また、端末記憶部22は、データとして、複数の項目情報を複数のページに分割して表示部24に表示する際の1ページあたりの項目情報の表示数(以下、表示項目数と称する)を予め記憶しておくとともに、サーバ3から取得した各項目情報等を記憶する。さらに、端末記憶部22は、所定の処理に係る一時的なデータを一時的に記憶してもよい。
操作部23は、携帯端末2の操作が可能であればどのようなデバイスでもよく、例えば、タッチパッド、キーボード等である。ユーザは、操作部23を用いて、文字、数字、スクロール操作等を入力することができる。操作部23は、ユーザにより操作されると、その操作に対応する信号を発生する。そして、発生した信号は、ユーザの指示として、端末処理部25に供給される。
表示部24も、映像、画像等の表示が可能であればどのようなデバイスでもよく、例えば、液晶ディスプレイ、有機EL(Electro−Luminescence)ディスプレイ等である。表示部24は、端末処理部25から供給された映像データに応じた映像、画像データに応じた画像等を表示する。
端末処理部25は、一又は複数個のプロセッサ及びその周辺回路を備える。端末処理部25は、携帯端末2の全体的な動作を統括的に制御するものであり、例えば、CPU(Central Processing Unit)である。端末処理部25は、携帯端末2の各種処理が端末記憶部22に記憶されているプログラム、操作部23の操作等に応じて適切な手順で実行されるように、端末通信部21、表示部24等の動作を制御する。端末処理部25は、端末記憶部22に記憶されているプログラム(オペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム等)に基づいて処理を実行する。また、端末処理部25は、複数のプログラム(アプリケーションプログラム等)を並列に実行することができる。
(2.1.1)端末処理部25の構成
端末処理部25は、少なくとも閲覧実行部250を備える。閲覧実行部250は、ゲーム実行部251、表示制御部252、ページ情報受付部253等を含む。これらの各部は、端末処理部25が備えるプロセッサで実行されるプログラムにより実現される機能モジュールである。あるいは、これらの各部は、ファームウェアとして携帯端末2に実装されてもよい。
閲覧実行部250は、操作部23を用いたユーザからの指示に応じて、特定の表示データの取得要求を端末通信部21を介してサーバ3に送信する。また、閲覧実行部250は、対応する表示データを、サーバ3から端末通信部21を介して受信する。閲覧実行部250は、受信した表示データに基づいて描画データを作成する。即ち、閲覧実行部250は、受信した表示データを解析して制御データ及び内容データを特定し、特定した制御データに従って同じく特定した内容データをレイアウトし、描画データを作成する。そして、閲覧実行部250は、作成した描画データを表示部24に出力する。
ゲーム実行部251は、操作部23を用いたユーザからの指示に応じて、サーバ3により提供されるゲームを実行する。ゲーム実行部251は、操作部23を用いてユーザからゲームの開始指示を受け付けると、さらに操作部23を用いてユーザからユーザID及びパスワードを受け付け、受け付けたユーザID及びパスワードを含むユーザ認証要求を端末通信部21を介してサーバ3に送信する。サーバ3が認証処理に成功すると、ゲーム実行部251は、端末通信部21を介してサーバ3から取得したゲーム画面を表示部24に表示するとともに、操作部23を用いてユーザからの操作を受け付け、以降、そのゲームのための処理を実施する。
表示制御部252は、操作部23を用いたユーザからの指示に応じて、各ページのページ番号をスクロール可能に表示するとともに、ユーザにより指定されたページに含まれる項目情報、指定されているページ番号等を表示する描画データを表示部24に出力する。そのために、表示制御部252は、描画データに係る表示データの取得を要求する表示データ取得要求を端末通信部21を介してサーバ3に送信する。表示データ取得要求には、端末記憶部22に記憶された表示項目数が含まれる。また、表示制御部252は、対応する表示データを端末通信部21を介してサーバ3から取得し、取得した表示データに基づいて描画データを作成し、作成した描画データを表示部24に出力する。表示データは、例えばHTML5(HyperText Markup Language 5)、CSS3(Cascading Style Sheets 3)、及びJavaScript(登録商標)等の言語を利用して作成することができる。
サーバ3から送信される表示データには、内容データとして、サーバ3に記憶された項目情報のうち先頭から表示項目数分の項目情報が含まれ、制御データとして、その項目情報を表示するための情報が含まれる。以下では、先頭から表示項目数分の項目情報を表示するためのデータを初回項目表示データと称する場合がある。
また、表示データには、内容データとして、複数のページの全ページ数分の各ページ番号が含まれ、制御データとして、各ページ番号をユーザにより指定可能とし、並べてスクロール可能に表示するための情報が含まれる。以下では、全ページ数分の各ページ番号を表示するためのデータを全ページ番号表示データと称する場合がある。
さらに、表示データには、内容データとして、ユーザにより現在指示されているページ番号又はユーザにより指定されたページ番号を表示するための指示ページ番号表示欄が含まれ、制御データとして、その指示ページ番号表示欄に、ユーザにより現在指示されているページ番号又はユーザにより指定されたページ番号を表示するための情報が含まれる。以下では、ユーザにより現在指示されているページ番号又はユーザにより指定されたページ番号を表示するためのデータを指示ページ番号表示データと称する場合がある。
なお、「指示する」とは、ページ番号等を選択中である状態をいい、例えば操作部23がタッチパネルである場合にユーザがスワイプ操作等において指等をタッチパネルの特定の領域に接触させている状態である。一方、「指定する」とは、ページ番号を確定させた状態をいい、例えばユーザがスワイプ操作等において指等をタッチパネルから離した直後の状態である。以下では、指示されているページ番号を指示ページ番号と称し、指定されているページ番号を指定ページ番号と称する場合がある。
表示制御部252は、サーバ3から取得した表示データに含まれる各項目情報を端末記憶部22に記憶する。また、表示制御部252は、初回項目表示データに基づいて各項目情報を表示部24に表示する。また、表示制御部252は、全ページ番号表示データに基づいて各ページ番号を並べてスクロール可能に表示部24に表示する。また、表示制御部252は、指示ページ番号表示データに基づいて、指示ページ番号又は指定ページ番号を表す指示ページ番号表示欄を表示部24に表示する。以下では、表示部24に表示する各項目情報を項目リストと称し、各ページ番号がスクロール可能に並べて表示された表示領域をスクロールページャと称する。
また、表示制御部252は、後述するように、操作部23を用いたユーザの操作によりスクロールページャ内に表示された各ページの中から所定のページ番号が指定された場合、指定ページに含まれる項目情報の取得を要求する項目情報取得要求を端末通信部21を介してサーバ3に送信する。項目情報取得要求には指定ページに係るページ情報が含まれる。ページ情報は、例えば指定ページ番号である。なお、後述するように、操作部23を用いたユーザの操作により特定のページ数分の複数のページ番号が指定された場合、項目情報取得要求には、特定のページ数分のページ情報が含まれる。その場合、特定のページ数分のページ情報は、複数の指定ページ番号の先頭ページの番号及び最終ページの番号とすることができる。なお、特定のページ数分のページ情報は、全ての指定ページ番号としてもよいし、指定ページ番号の先頭ページの番号及びページ数としてもよい。
表示制御部252は、項目情報取得要求に含まれるページ情報に対応するページに含まれる項目情報を表示するための内容データ及び制御データを端末通信部21を介してサーバ3から取得する。以下では、ページ情報に対応するページに含まれる項目情報を表示するためのデータを項目表示データと称する場合がある。項目表示データは、例えば、JSON(JavaScript Object Notation)(登録商標)等の言語を利用して作成され、Ajax(Asynchronous JavaScript and XML)(登録商標)等の技術を用いて取得することができる。表示制御部252は、取得した内容データに含まれる各更新情報を端末記憶部22に記憶するとともに、取得した内容データ及び制御データに基づいて描画データを更新し、更新した描画データを表示部24に表示する。
図3(a)、(b)は、表示部24に表示される画面300の一例を示す図である。
図3(a)は、操作部23を用いてユーザから項目情報の表示指示を最初に受け付けたときの画面300を示す。画面300は、サーバ3から受信した初回項目表示データ、全ページ番号表示データ及び指示ページ番号表示データ等に基づいて表示される。図3(a)に示されるように、画面300には、スクロールページャ310と、項目リスト320と、指示ページ番号表示欄330とが表示される。スクロールページャ310には、各ページ番号311が並べられ、スクロール可能に表示される。項目リスト320には、スクロールページャ310の中心位置312に位置するページ番号311に対応する項目情報321が表示される。なお、各項目情報321は、例えば新しい情報の順に、上から順に表示される。操作部23を用いてユーザから項目情報の表示指示を最初に受け付けたときは、先頭のページ番号「1」が中心位置312に位置し、ページ番号「1」に対応する項目情報321を表す項目リスト320が表示される。また、項目情報321の数が多く、全ての項目情報321が項目リスト320に表示できない場合、項目リスト320は各項目情報321を垂直方向(y方向)にスクロール可能に表示される。指示ページ番号表示欄330には、現在指定されている指定ページ番号が、スクロールページャ310からの吹き出しにより表示される。図3(a)に示す状態では、指定ページ番号としてページ番号「1」が表示される。
図3(b)は、スクロールページャ310において、図3(a)の矢印Aの方向にユーザのスクロール操作がなされた場合の画面300を示す。図3(b)では、ユーザのスクロール操作の結果、スクロールページャ310の中心位置312にページ番号「13」が位置しており、指示ページ番号表示欄330には指定ページ番号としてページ番号「13」が表示され、項目リスト320にはページ番号「13」に対応する項目情報321が表示される。ユーザは、スクロールページャ310を水平方向にスクロールさせて所望のページ番号を指定し、項目リスト320を垂直方向にスクロールさせて所望の項目情報を閲覧することができる。
ページ情報受付部253は、スクロールページャ内に表示された各ページ番号の内から操作部23を用いてユーザの操作により指定されたページ番号を取得し、表示制御部252に通知して、項目情報取得要求をサーバ3に送信させる。この場合、項目情報取得要求に含まれるページ情報には、指定ページ番号、すなわちユーザにより指定されたページが含まれる。
以下、操作部23がタッチパネルである場合を例にページ番号を取得する方法について説明する。なお、本実施形態では、以下に示す各種処理を実行するために、css3のwebkit-transformの各プロパティが使用されるものとする。
まず、ページ情報受付部253は、スクロールページャに対するユーザのフリック操作(スクロール操作)に応じて、タッチパネルが接触を感知し始めた位置である始点(touch1)を示す始点位置情報を操作部23から取得する。また、ページ情報受付部253は、操作部23から始点位置情報を取得した時刻を、接触を感知し始めた時刻(time1)を示す始点時刻情報として取得する。次に、ページ情報受付部253は、スクロールページャに対するユーザのフリック操作に応じた接触を感知し終えた位置である終点(touch2)を示す終点位置情報を操作部23から取得する。また、ページ情報受付部253は、操作部23から終点位置情報を取得した時刻を、接触を感知し終えた時刻(time2)を示す終点時刻情報として取得する。なお、始点位置情報及び終点位置情報により示される位置は、例えば、表示部24の画面の左上を基準(すなわち、(x ,y ,z)=(0, 0, 0))としたときの水平方向の位置を示すx座標の値で表される。
次に、ページ情報受付部253は、終点位置情報に示される位置から始点位置情報に示される位置を減算し、始点から終点までの移動距離(distance1 = touch2 - touch1)を算出する。ここでは、上記したように、始点位置情報及び終点位置情報により示される位置が携帯端末の画面の左上を基準としているため、ユーザが右方向にフリック操作を行った場合には、distance1は正の値を示し、ユーザが左方向にフリック操作を行った場合には、distance1は負の値を示す。次に、ページ情報受付部253は、終点時刻情報に示される時刻から始点時刻情報に示される時刻を減算し、携帯端末が接触を感知していた接触時間(time3 = time2 - time1)を算出する。次に、ページ情報受付部253は、移動距離distance1を、接触時間time3で除算することにより、ユーザのフリック操作の速度(speed1 = distance1 / time3)(以下、操作速度と表記)を算出する。操作速度の単位は[pixel/秒]とする。なお、所定の操作速度を超えると、ユーザが携帯端末を操作する際のUXを損なう恐れがあるため、操作速度の上限値(例えば、440[pixel/秒])を予め設定してもよい。
次に、ページ情報受付部253は、算出した操作速度に基づいて、スクロールページャが移動可能である移動可能時間を設定する。移動可能時間(例えば、0.4秒)をwebkitTransitionDurationのTime値として設定することにより、スクロールページャが移動する時間を設定することができる。なお、操作速度を移動可能時間として用いることができる。これにより、操作速度が遅い場合、スクロールページャの移動距離が短くなるので移動可能時間を短時間に設定し、操作速度が速い場合、スクロールページャの移動距離が長くなるので移動可能時間を長時間に設定することができる。
次に、ページ情報受付部253は、始点から終点までの移動距離と操作速度とに基づいて、スクロールページャを移動させるべき移動量(movePoint)を算出する。ページ情報受付部253は、例えば「movePoint = distance1 × (speed1 / α)」を演算することにより、スクロールページャの移動量を算出する。なお、αは実験により定められた定数であり、例えば56である。また、スクロールページャの移動量は、distance1とspeed1とに基づいて算出すればよく、上記の数式演算以外の方法により算出してもよい。
次に、ページ情報受付部253は、算出した移動量だけスクロールページャを移動するように表示部24に表示する。ページ情報受付部253は、例えば、webkitTransform = translate3d(x, y, z)を利用することにより、スクロールページャを移動させることができる。
なお、本実施形態では、スクロールページャが水平方向(x方向)に移動するものとして説明しているが、これに限定されず、スクロールページャは垂直方向(y方向)に移動するようにしてもよい。
次に、ページ情報受付部253は、スクロールページャの移動が終了した時点で所定位置に位置するページ番号を指定ページ番号として取得し、取得した指定ページ番号を、指示ページ番号表示欄に表示するとともに、表示制御部252に通知する。所定位置は、例えばスクロールページャの水平方向の中心位置とすることができる。ページ情報受付部253は、移動可能時間が経過したときに、スクロールページャの水平方向の中心位置に存在するページ番号を取得する。
なお、ページ情報受付部253は、webkitTransformTimingFunction ”ease-out”を予め設定することにより、スクロールページャを滑らかに移動させることができる。
また、ページ情報受付部253は、スクロールページャ全体に含まれるページ番号の数と、各ページ番号を表示する領域の水平方向の長さと、相互に隣接するページ番号を表示する領域間の水平方向の余白であるmargin-rightとを用いて、スクロールページャが移動可能な距離(以下、移動可能距離と表記)を算出する。なお、ページ情報受付部253は、JavaScript(登録商標)のgetComputedStyleメソッドを利用することにより、各ページ番号を表示する領域の水平方向の長さと、margin-rightを、取得することができる。ページ情報受付部253は、「ページ番号の数×(ページ番号を表示する領域の水平方向の長さ + margin-right)」を演算することにより、移動可能距離を算出する。移動可能距離を算出しておくことにより、ページ情報受付部253は、「引き戻しの挙動」を実施することができる。ページ情報受付部253は、算出した移動量が移動可能距離より大きい場合、その移動量に1未満の所定値(例えば、0.9)を乗算した値(movePoint × 所定値)を、実際に一覧を移動させる移動量(以下、実移動量と称する)として設定する。これにより、例えばスクロールページャの端部が中心位置を越えるようにユーザがフリック操作をし続ける場合に、スクロールページャをフリック操作の方向と反対方向に引き戻すように表示する「引き戻しの挙動」を実現することができる。なお、引き戻しの挙動は、連続的に引き戻される挙動又は断続的に引き戻される挙動のいずれでもよい。
また、ページ情報受付部253は、display:noneを所望のページ番号又は項目情報に対して設定することにより、所望のページ番号又は項目情報を非表示にしてもよい。
また、ページ情報受付部253は、スクロールページャに表示されているページ番号のうちの一つがタップされた場合も、そのタップされたページ番号を指定ページ番号として取得し、取得した指定ページ番号を、指示ページ番号表示欄に表示するとともに、表示制御部252に通知する。
図4は、フリック操作により指定された指定ページ番号の取得処理について説明するための模式図である。
図4に示すように、スクロールページャ310において、矢印Aの方向へユーザのフリック操作がなされた場合、ページ情報受付部253は、始点401及び終点402を操作部23から取得し、各点を取得した時刻を取得する。ページ情報受付部253は、始点401及び終点402から移動距離403を算出し、各点を取得した時刻から接触時間を算出し、移動距離403と接触時間から操作速度を算出する。なお、図4に示す例では、ユーザが左方向にフリック操作を行っているため、移動距離は負の値となる。ページ情報受付部253は、算出した移動距離に基づいて決定した移動量だけスクロールページャ310を左方向に移動させ、スクロールページャの移動が終了した時点で中心位置312に位置するページ番号「13」を指定ページ番号として取得する。
また、ページ情報受付部253は、ユーザによりスクロールページャ内の2点が指定された場合に、指定された2点間の距離と、スクロールページャ内に表示された各ページ番号間の距離とに基づく特定のページ数と、その特定のページ数分のページ番号とを取得する。ページ情報受付部253は、指定された2点間の距離と各ページ番号間の距離との関係に基づいて、そのページ数及びページ番号を決定する。
ページ情報受付部253は、スクロールページャ内の2点を指示するユーザの操作(タップ操作、スワイプ操作等)に応じて、指示された2点(touch3,touch4)の位置をそれぞれ示す第1位置情報及び第2位置情報を操作部23から取得する。
次に、ページ情報受付部253は、第1位置情報に示される位置と第2位置情報に示される位置の差の絶対値を2点間の距離(distance2 = |touch3 - touch4|)として算出する。
次に、ページ情報受付部253は、その2点間の距離に応じたページ数を算出する。例えば、ページ情報受付部253は、2点間の距離を各ページ番号の間の距離(distance3)で割った値の所定倍(n、例えば2)を、その2点間の距離に応じたページ数として取得する(ページ数=(distance2 / distance3)×n)。なお、nは1以上の値でもよいし、1未満の値でもよい。n=1とした場合、2つのページ番号が指示されると、指示された2つのページ番号の差が、2点間の距離に応じたページ数となるので、ユーザは、所望するページ数を容易に指定することが可能となる。
次に、ページ情報受付部253は、取得したページ数分のページ番号を指示ページ番号として取得する。例えば、ページ情報受付部253は、フリック操作により予め指定されていたページ番号(スクロールページャの水平方向の中心位置に存在するページ番号)から、2点間の距離に応じた正方向のページ数分のページ番号を指示ページ番号として取得する。なお、ページ情報受付部253は、フリック操作により予め指定されていたページ番号から、2点間の距離に応じた負方向のページ数分のページ番号を指示ページ番号として取得してもよい。なお、この例の場合、項目情報取得要求に含まれるページ情報は、ユーザにより指定されたページから特定のページ数分のページに付された番号となる。
図5(a)は、2点で指示されたページ数及び指示ページ番号の取得処理について説明するための模式図である。
図5(a)に示すように、ユーザは、2本の指によりスクロールページャ310内の2点を同時にタップすることにより、2点501及び502を指示することができる。スクロールページャ310において、ユーザにより2点が指示された場合、ページ情報受付部253は、2点501及び502を操作部23から取得する。ページ情報受付部253は、2点501及び502の間の距離503を算出し、2点に対応するページ数を取得する。図5(a)に示す例では、2点間の距離503は各ページ番号の間の距離504の約2倍である。したがって、例えば、上記した所定倍が2倍である場合、ページ数は4となる。ページ情報受付部253は、取得したページ数分のページ番号を指示ページ番号として取得する。図5(a)に示す例では、ページ番号「13」から正方向に4ページ分のページ番号「13」〜「17」が指示ページ番号として取得される。なお、ページ番号「13」から負方向に4ページ分のページ番号「9」〜「13」が指示ページ番号として取得されてもよい。ページ情報受付部253は、指示ページ番号「13」〜「17」を指示ページ番号表示欄330に表示する。
なお、指示ページ番号の取得方法は、これに限定されない。例えば、ページ情報受付部253は、スクロールページャ内のフリック操作により予め指定されていた元の指定ページ番号の位置(スクロールページャの中心位置)と、タップ操作、スワイプ操作等により新たに指示された2点の位置との位置関係から、特定のページ数分の指示ページ番号を定めてもよい。
例えば、ページ情報受付部253は、元の指定ページ番号の位置と、指示された2点の各位置との間の距離に基づいて、特定のページ数分の指示ページ番号を決定する。その場合、ページ情報受付部253は、指示された2点の各位置(touch4, touch5)から元の指定ページ番号の位置(center)を減じた値を、元の指定ページ番号の位置と、指示された2点の各位置との距離(distance4, distance5)として算出する。すなわち、指示された位置が元の指定ページ番号の位置より左側にある場合、その距離は負の値を示し、右側にある場合、その距離は正の値を示す。そして、ページ情報受付部253は、元の指定ページ番号に、指示された2点のうちの負方向側の点(touch4)について算出した距離(distance4)を各ページ番号の間の距離(distance3)で割った値の所定倍(n、例えば2)の値を加算した値を指示ページ番号の先頭ページ番号とする(先頭ページ番号=元の指定ページ番号+(distance4 / distance3)×n)。また、ページ情報受付部253は、元の指定ページ番号に、指示された2点のうちの正方向側の点(touch5)について算出した距離(distance5)を各ページ番号の間の距離で割った値の所定倍の値を加算した値を指示ページ番号の最終ページ番号とする(最終ページ番号=元の指定ページ番号+(distance5 / distance3)×n)。なお、nは1以上の値でもよいし、1未満の値でもよい。
なお、ページ情報受付部253は、指示された2点の位置に最も近いページ番号を、それぞれ先頭ページ番号及び最終ページ番号としてもよい。
これらの例の場合、項目情報取得要求に含まれるページ情報は、スクロールページャ内において予め指定されていたページの位置と、新たに指定された2点の位置との位置関係から定められる。
図5(b)は、2点の指示によるページ数及び指示ページ番号の取得処理の他の例について説明するための模式図である。
図5(b)に示す例では、ページ情報受付部253は、スクロールページャ310内の中心位置513と、タップ操作により指示された2点511及び512の各位置との位置関係に基づいて、特定のページ数分の指示ページ番号を決定する。この例では、元の指定ページ番号「13」に、中心位置513と、2点のうちの負方向側の点511との間の距離514を各ページ番号の間の距離504で割った値(−2)の所定倍(2倍)の値(−4)を加算した値「9」が指示ページ番号の先頭ページ番号となる。一方、元の指定ページ番号「13」に、中心位置513と、2点のうちの正方向側の点512との間の距離515を各ページ番号の間の距離504で割った値(1)の所定倍(2倍)の値(2)を加算した値「15」が指示ページ番号の最終ページ番号となる。ページ情報受付部253は、決定したページ番号「9」〜「15」を指示ページ番号表示欄330に表示する。
また、ページ情報受付部253は、スクロールページャ内の2点を指示するユーザのスワイプ操作が行われた場合に、サーバ3から受信した指示ページ番号表示データに従って、そのスワイプ操作に応じて指示されている2点に対応するページ番号をリアルタイムに指示ページ番号表示欄に表示する。これにより、ユーザの指が現在指示している2点に対応するページ番号の表示がリアルタイムに変化するため、ユーザは、現在選択中のページ番号を把握することができ、所望のページ番号を正確に指定することができる。
次に、ページ情報受付部253は、スクロールページャ内の2点を指示するユーザのタップ操作、スワイプ操作等が完了した時、即ちユーザの指がタッチパネルから離れた時に、指示されていた指示ページ番号を指定ページ番号として表示制御部252に通知する。
図6(a)、(b)は、指定ページ番号について説明するための模式図である。
図6(a)は、図5(a)に示す状態から、ユーザの指がタッチパネルから離れた状態を示している。図6(a)では、指定ページ番号としてページ番号「13」〜「17」が表示制御部252を介してサーバ3に通知され、項目リスト320には、ページ番号「13」〜「17」に対応する項目情報321が表示される。なお、図6(a)の項目リスト320に表示されている各項目情報321は、図5(a)の項目リスト320に表示されている各項目情報321と同じであるが、図6(a)の項目リスト320を垂直方向にスクロールさせることにより、図5(a)の項目リスト320に表示されている各項目情報より多くの項目情報が表示される。
図6(b)は、図5(b)に示す状態から、ユーザの指がタッチパネルから離れた状態を示している。図6(b)では、指定ページ番号としてページ番号「9」〜「15」が表示制御部252を介してサーバ3に通知され、項目リスト320には、ページ番号「9」〜「15」に対応する項目情報321が表示される。
なお、ページ情報受付部253は、スクロールページャ内の2点を指示するユーザのスワイプ操作が完了した時でなく、スワイプ操作に応じて指示されている2点を指定ページ番号としてリアルタイムに表示制御部252に通知してもよい。
図7は、スワイプ操作に応じて指示されている2点を指定ページ番号としてリアルタイムに通知する場合の処理について説明するための模式図である。
図7では、ユーザのスワイプ操作に応じて、即ち、ユーザの指がタッチパネルから離れていない状態で、指定ページ番号としてページ番号「9」〜「15」が表示制御部252を介してサーバ3に通知され、項目リスト320に表示される項目情報321及び項目情報数がリアルタイムに変化する。
(2.2)サーバ3の構成
図8(a)は、サーバ3の概略構成の一例を示す図である。
サーバ3は、所定のゲームを携帯端末2に提供するとともに、そのゲームで使用される複数の項目情報を記憶し、携帯端末2からの要求に応じて、要求されたページ番号に対応する項目情報を携帯端末2に送信する。そのために、サーバ3は、サーバ通信部31と、サーバ記憶部32と、サーバ処理部33とを備える。
サーバ通信部31は、出力部の一例であり、サーバ3をインターネット8に接続するための通信インターフェース回路を備え、インターネット8との間で通信を行う。そして、サーバ通信部31は、携帯端末2等から受信したデータを、サーバ処理部33に供給する。また、サーバ通信部31は、サーバ処理部33から供給されたデータを携帯端末2等に送信する。
サーバ記憶部32は、例えば、磁気テープ装置、磁気ディスク装置、又は光ディスク装置のうちの少なくともいずれか一つを備える。サーバ記憶部32は、サーバ処理部33での処理に用いられるオペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム、データ等を記憶する。例えば、サーバ記憶部32は、アプリケーションプログラムとして、携帯端末2からの要求に応じて、要求された項目情報を携帯端末2に送信するゲームプログラム等を記憶する。また、サーバ記憶部32は、データとして、ユーザを管理するユーザ管理テーブル(図8(b))、項目情報を管理する項目管理テーブル(図8(c))、項目管理テーブルに記憶する項目情報の総数等を予め記憶する。さらに、サーバ記憶部32は、所定の処理に係る一時的なデータを一時的に記憶してもよい。
図8(b)、(c)は、各種管理テーブルのデータ構造の一例を示す図である。
図8(b)には、ユーザを管理するユーザ管理テーブルが示されている。ユーザ管理テーブルは、各ユーザについて、当該ユーザの識別番号(以下、ユーザIDと称する)、名前、パスワード、当該ユーザの携帯端末2についての各ページ番号と各項目情報との対応関係、表示項目数、項目情報を表示する複数のページのページ数等を記憶する。
図8(c)には、項目情報を管理する項目管理テーブルが示されている。項目管理テーブルは、各項目情報について、当該項目情報の識別番号(以下、情報IDと称する)、項目情報自体等を記憶する。なお、各項目情報は、例えば新しい情報の順に、上から順に記憶される。
サーバ処理部33は、一又は複数個のプロセッサ及びその周辺回路を備える。サーバ処理部33は、サーバ3の全体的な動作を統括的に制御するものであり、例えば、CPUである。サーバ処理部33は、サーバ3の各種処理がサーバ記憶部32に記憶されているプログラム等に応じて適切な手順で実行されるように、サーバ通信部31等の動作を制御する。サーバ処理部33は、サーバ記憶部32に記憶されているプログラム(オペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム等)に基づいて処理を実行する。また、サーバ処理部33は、複数のプログラム(アプリケーションプログラム等)を並列に実行することができる。
(2.2.1)サーバ処理部33の構成
サーバ処理部33は、ゲーム制御部331と、表示数取得部332と、全ページ数決定部333と、対応付け部334と、ページ情報取得部335と、項目情報決定部336と、表示データ作成部337と、送信制御部338とを備える。これらの各部は、サーバ処理部33が備えるプロセッサで実行されるプログラムにより実現される機能モジュールである。あるいは、これらの各部は、ファームウェアとしてサーバ3に実装されてもよい。
ゲーム制御部331は、ゲームの進行を制御する。ゲーム制御部331は、携帯端末2からサーバ通信部31を介して、ユーザ認証要求を受信した場合に、受信したユーザ認証要求を解析してユーザID及びパスワードを特定する。そして、ゲーム制御部331は、特定したユーザID及びパスワードをパラメータとして、ユーザ認証部(不図示)に処理の実行を指示する。
ゲーム制御部331は、ユーザ認証部による認証が成功した場合、そのゲームを実施するためのゲーム画面をサーバ通信部31を介して携帯端末2に送信し、以降、そのゲームのための処理を実施する。
表示数取得部332は、サーバ通信部31を介して各携帯端末2から表示データ取得要求を取得し、表示データ取得要求に含まれる表示項目数をサーバ記憶部32のユーザ管理テーブルに記憶するとともに、全ページ数決定部333に通知する。
なお、表示項目数は、携帯端末2から取得するのではなく、サーバ記憶部32のユーザ管理テーブルに予め記憶しておいてもよい。これにより、サーバ3が各携帯端末2に表示される1ページあたりの項目情報の数を管理することができる。
全ページ数決定部333は、サーバ記憶部32から項目情報の総数と、表示項目数とを読み出し、読み出した項目情報の総数と表示項目数とから、複数の項目情報を複数のページに分割して表示する際のページ数(以下、全ページ数と称する)を決定する。全ページ数決定部333は、項目情報の総数を表示項目数で除算することにより全ページ数を算出する。全ページ数決定部333は、算出した全ページ数をサーバ記憶部32に記憶するとともに、表示データ作成部337に通知する。
対応付け部334は、サーバ記憶部32から表示項目数を読み出し、読み出した表示項目数から、各ページに含まれる項目情報を決定する。対応付け部334は、各ページに含まれる各項目情報と、全ページ数分の各ページのページ番号とを対応付けて、その対応関係をサーバ記憶部32のユーザ管理テーブルに記憶する。
対応付け部334は、ページ番号の小さい順に各ページに、各項目情報を情報IDの小さい順に表示項目数ずつ対応付けていく。対応付け部334は、各ページ番号と、「表示項目数×(当該ページ番号−1)+1」番目の項目情報から「表示項目数×当該ページ番号」番目の項目情報までとを対応付ける。
例えば、表示項目数が10である場合、ページ番号「1」に対応付けられる項目情報は、1番目の項目情報から10番目の項目情報までとなり、ページ番号「13」に対応付けられる項目情報は、121番目の項目情報から130番目の項目情報までとなる。
ページ情報取得部335は、サーバ通信部31を介して各携帯端末2から、ページ情報を含む項目情報取得要求を取得すると、項目情報取得要求に含まれるページ情報を項目情報決定部336に通知する。
項目情報決定部336は、ページ情報取得部335からページ情報が通知されると、サーバ記憶部32のユーザ管理テーブルに記憶された対応関係に基づいて、通知されたページ情報に対応するページに含まれる項目情報を、表示する項目情報として決定する。そして、項目情報決定部336は、決定した項目情報の情報IDを表示データ作成部337に通知する。
表示データ作成部337は、全ページ数決定部333から全ページ数が通知されると、サーバ記憶部32の項目管理テーブルの先頭から表示項目数分の項目情報を読み出し、携帯端末2に表示させる表示データを作成し、送信制御部338へ通知して、サーバ通信部31から出力させる。作成する表示データには、初回項目表示データと、先頭ページのページ番号を指定ページ番号とする全ページ番号表示データ及び指定ページ番号表示データとが含まれる。
また、表示データ作成部337は、項目情報決定部336から項目情報の情報IDが通知されると、通知された情報IDに対応する項目情報をサーバ記憶部32の項目管理テーブルから読み出す。表示データ作成部337は、読み出した項目情報を表示するための項目表示データを作成し、送信制御部338へ通知して、サーバ通信部31から出力させる。項目表示データは、Ajax(登録商標)等の技術を用いて作成される。
送信制御部338は、表示データ作成部337から初回項目表示データ、全ページ番号表示データ及び指定ページ番号表示データを含む表示データが通知されると、通知された表示データをサーバ通信部31を介して各携帯端末2に送信する。また、送信制御部338は、表示データ作成部337から項目表示データが通知されると、通知された項目表示データをサーバ通信部31を介して各携帯端末2に送信する。
(3)ゲームシステム1の動作
図9は、ゲームシステム1による項目情報の表示の動作シーケンスの一例を示す。なお、以下に説明する動作シーケンスは、予め端末記憶部22及びサーバ記憶部32に記憶されているプログラムに基づいて、主に端末処理部25及びサーバ処理部33により、携帯端末2及びサーバ3の各要素と協働して実行される。
まず、ユーザにより、携帯端末2の操作部23を用いて端末処理部25に、閲覧プログラムの実行が指示される。端末処理部25は、閲覧プログラムに基づいて処理を開始する。即ち、閲覧プログラムにより実現される閲覧実行部250のゲーム実行部251は、操作部23を用いてユーザからゲームの開始指示を受け付けると、さらに操作部23を用いてユーザからユーザID及びパスワードを受け付ける。そして、ゲーム実行部251は、ユーザID及びパスワードを含むユーザ認証要求を端末通信部21を介してサーバ3に送信する(ステップS101)。
サーバ3のゲーム制御部331は、サーバ通信部31を介して携帯端末2からユーザ認証要求を受信すると、受信したユーザ認証要求を解析してユーザID及びパスワードを特定する。そして、ゲーム制御部331は、特定したユーザID及びパスワードをパラメータとして、ユーザ認証部(不図示)に認証処理の実行を指示する(ステップS102)。
ゲーム制御部331は、ユーザ認証部による認証が成功した場合、そのゲームを実施するためのゲーム画面をサーバ通信部31を介して携帯端末2に送信する(ステップS103)。
携帯端末2のゲーム実行部251は、端末通信部21を介してサーバ3から取得したゲーム画面を表示部24に表示し、以降、そのゲームのための処理を実施する(ステップS104)。
次に、表示制御部252は、操作部23を用いてユーザから項目情報の表示指示を受け付けると、端末記憶部22から表示項目数を読み出し、読み出した表示項目数を含む表示データ取得要求を端末通信部21を介してサーバ3に送信する(ステップS105)。
サーバ3の表示数取得部332は、サーバ通信部31を介して携帯端末2から表示データ取得要求を取得すると、表示データ取得要求に含まれる表示項目数をサーバ記憶部32に記憶するとともに、全ページ数決定部333に通知する。次に、全ページ数決定部333は、全ページ数を算出する全ページ数決定処理を実施する(ステップS106)。
図10は、全ページ数決定部333による全ページ数決定処理の動作フローの一例を示す図である。
まず、全ページ数決定部333は、サーバ記憶部32から項目情報の総数と、表示項目数とを読み出す(ステップS201)。次に、全ページ数決定部333は、項目情報の総数を表示項目数で除算することにより全ページ数を算出し(ステップS202)、算出した全ページ数をサーバ記憶部32に記憶するとともに、表示データ作成部337に通知し、一連のステップを終了する。
図9に戻り、対応付け部334は、サーバ記憶部32から表示項目数を読み出し、読み出した表示項目数から、各ページに含まれる項目情報を決定し、各ページに含まれる各項目情報と、全ページ数分の各ページのページ番号とを対応付けて、その対応関係をサーバ記憶部32のユーザ管理テーブルに記憶する(ステップS107)。
次に、表示データ作成部337は、サーバ記憶部32の項目管理テーブルの先頭から1ページの表示項目数分の項目情報を読み出し、携帯端末2に表示させる表示データを作成し(ステップS108)、送信制御部338へ通知する。この表示データには、初回項目表示データと、先頭ページのページ番号を指定ページ番号とする全ページ番号表示データ及び指定ページ番号表示データとが含まれる。
次に、送信制御部338は、表示データ作成部337が作成した表示データをサーバ通信部31を介して携帯端末2に送信する(ステップS109)。
携帯端末2の表示制御部252は、端末通信部21を介してサーバ3から表示データを取得すると、取得した表示データを解析して、表示データに含まれる各項目情報を端末記憶部22に記憶するともに、描画データを作成し、作成した描画データを表示部24に表示する(ステップS110)。
次に、ページ情報受付部253は、操作部23を用いてユーザのスクロール操作により指定されたページ番号を受け付けるページ番号解析処理を実施する(ステップS111)。
図11は、ページ情報受付部253によるページ番号解析処理の動作フローの一例を示す図である。
まず、ページ情報受付部253は、スクロールページャ内で2点が指示されているか否かを判定する(ステップS301)。
スクロールページャ内で2点が指示されていない場合(ステップS301−No)、即ちユーザのフリック操作等により1点が指定された場合、ページ情報受付部253は、始点位置情報及び始点時刻情報を取得する(ステップS302)。次に、ページ情報受付部253は、終点位置情報及び終点時刻情報を取得する(ステップS303)。次に、ページ情報受付部253は、始点位置情報及び終点位置情報から移動距離を算出し(ステップS304)、始点時刻情報及び終点時刻情報から接触時間を算出し(ステップS305)、移動距離及び接触時間から操作速度を算出する(ステップS306)。次に、ページ情報受付部253は、操作速度に基づいて移動可能時間を設定する(ステップS307)。次に、ページ情報受付部253は、移動距離及び操作速度に基づいて移動量を算出する(ステップS308)。
次に、ページ情報受付部253は、算出した移動量だけスクロールページャを移動するように表示部24に表示する(ステップS309)。次に、ページ情報受付部253は、スクロールページャの移動が終了した時点で所定位置に位置するページ番号を取得し(ステップS310)、取得したページ番号を表示制御部252に通知し、一連のステップを終了する。
一方、スクロールページャ内で、ユーザのタップ操作、スワイプ操作等により2点が指示されていた場合(ステップS301−Yes)、ページ情報受付部253は、指示された2点の位置をそれぞれ示す第1位置情報及び第2位置情報を取得する(ステップS311)。次に、ページ情報受付部253は、第1位置情報に示される位置と第2位置情報に示される位置の差の絶対値を2点間の距離として算出する(ステップS312)。次に、ページ情報受付部253は、2点間の距離と、各ページ番号の間の距離とに基づいた、2点間の距離に応じたページ数を取得し(ステップS313)、決定したページ数分のページ番号を指示ページ番号として取得する(ステップS314)。次に、ページ情報受付部253は、取得した指示ページ番号を指示ページ番号表示欄に表示する(ステップS315)。
次に、ページ情報受付部253は、ユーザのタップ操作、スワイプ操作等が完了したか否かを判定する(ステップS316)。ユーザのタップ操作、スワイプ操作等が完了していない場合(ステップS316−No)、ページ情報受付部253は、処理をステップS311に戻し、ステップS311〜S316の処理を繰り返す。一方、ユーザのタップ操作、スワイプ操作等が完了した場合(ステップS316−Yes)、ページ情報受付部253は、ユーザのタップ操作、スワイプ操作等が完了した時に指示されていた指示ページ番号を指定ページ番号として取得し(ステップS317)、取得した指定ページ番号を表示制御部252に通知し、一連のステップを終了する。
図9に戻り、表示制御部252は、ページ情報受付部253から通知された指定ページ番号をページ情報として含む項目情報取得要求を端末通信部21を介してサーバ3に送信する(ステップS112)。
サーバ3のページ情報取得部335は、サーバ通信部31を介して携帯端末2から項目情報取得要求を取得すると、項目情報取得要求に含まれるページ情報を項目情報決定部336に通知する。
次に、項目情報決定部336は、ページ情報取得部335からページ情報が通知されると、サーバ記憶部32のユーザ管理テーブルに記憶された対応関係に基づいて、表示する項目情報を決定し(ステップS113)、決定した項目情報の情報IDを表示データ作成部337に通知する。
次に、表示データ作成部337は、項目情報決定部336が決定した項目情報の情報IDに対応する項目情報をサーバ記憶部32の項目管理テーブルから読み出し、読み出した項目情報について項目表示データを作成し(ステップS114)、送信制御部338へ通知する。
送信制御部338は、項目表示データをサーバ通信部31を介して携帯端末2に送信する(ステップS115)。
携帯端末2の表示制御部252は、端末通信部21を介してサーバ3から項目表示データを取得すると、取得した項目表示データに含まれる更新情報を端末記憶部22に記憶するとともに、取得した項目表示データに基づいて描画データを更新し、更新した描画データを表示部24に表示する(ステップS116)。
なお、携帯端末2の表示制御部252は、ステップS110又はS116においてサーバ3から受信した各表示データに含まれる各項目情報をページ番号と対応付けて端末記憶部22に記憶しておき、その後、ユーザにより指定されたページ番号が全て端末記憶部22に記憶されている場合、記憶された項目情報を表示してもよい。これにより、ユーザが特定のページを閲覧した後、他のページを閲覧し、再度その特定のページを閲覧した場合、その特定のページの各項目情報をサーバ3から改めて取得する必要がなくなり、短時間に表示することが可能となる。または、表示制御部252は、ユーザにより指定されたページ番号のうち、端末記憶部22に記憶されていない項目情報のみをサーバ3から取得してもよい。これにより、ネットワーク上の通信量を低減しつつ、項目情報を短時間に表示することが可能となる。
さらに付け加えると、携帯端末2の表示制御部252は、ステップS110又はS116においてサーバ3から受信した各表示データに含まれる各項目情報をページ番号と対応付けてブラウザ上のメモリ(HTML5の一機能であるLocalStorage「ローカルストレージ」)に記憶しておき、その後、ユーザにより指定されたページ番号が全てブラウザ上のメモリに記憶されている場合、記憶された項目情報を表示してもよい。こうすることで、ネットワーク上の通信量をより低減しつつ、項目情報を短時間に表示することが可能となる。
また、携帯端末2の表示制御部252は、ユーザにより指定された指定ページ番号に対応する項目情報をサーバ3から取得して表示部24に表示した後、その指定ページ番号に近接するページ番号に対応する項目情報をサーバ3から取得しておいてもよい。その場合、表示制御部252は、ページ情報受付部253から取得した指定ページ番号を含む項目情報取得要求をサーバ3に送信した後、その指定ページ番号に近いページ番号の順に、各ページ番号を含む項目情報取得要求をサーバ3に送信する。サーバ3の項目情報決定部336は、順次受信した項目情報取得要求に従って、対応する項目情報を決定する。つまり、項目情報決定部336は、指定ページ番号に対応する項目情報を決定した後、その指定ページ番号に近いページ番号の順に、対応する項目情報を決定する。表示データ作成部337は、項目情報決定部336が決定した順に、決定した項目情報についての内容データ及び制御データを作成する。つまり、表示データ作成部337は、指定ページ番号についての項目表示データを作成した後、その指定ページ番号に近いページ番号の順に、対応する項目情報についての項目表示データを作成する。送信制御部338は、表示データ作成部337が作成した順に、作成した項目表示データをサーバ通信部31を介して携帯端末2に送信する。
例えば、指定ページ番号が「13」〜「17」である場合、サーバ3は、ページ番号「13」〜「17」に対応する項目表示データを携帯端末2に送信し、続いて、ページ番号「12」及び「18」に対応する項目表示データ、ページ番号「11」及び「19」に対応する項目表示データを、順次、携帯端末2に送信する。
項目情報が時系列等、何らかの規則に従った順にサーバ3に記憶されている場合、ユーザは、現在閲覧している項目情報に近接する項目情報の閲覧を所望する可能性が高い。したがって、携帯端末2は、現在閲覧されている項目情報に近接する項目情報をサーバ3から予め取得しておくことにより、ユーザがその近接する項目情報の閲覧を所望した場合に、その項目情報をサーバ3から改めて取得する必要がなくなり、短時間に表示することが可能となる。なお、携帯端末2は、現在閲覧されている項目情報に近接する項目情報をサーバ3から予め取得して、ブラウザ上のメモリに格納しておいてもよい。こうすることで、ユーザがその近接する項目情報の閲覧を所望した場合に、その項目情報をサーバ3から改めて取得する必要がなくなり、より短時間に表示することが可能となる。
以上説明してきたように、サーバ3は、各ページのページ番号をスクロール可能に携帯端末2に表示させ、その表示領域内でユーザにより指定された2点間の距離に応じたページ数分のページに含まれる項目情報を携帯端末2に表示させる。これにより、ユーザは、2本の指を用いたスワイプ操作、タップ操作等により、項目情報を表示するページ数を変更することができる。したがって、ユーザは、移動範囲が小さく且つ短時間に実施可能なジェスチャーによって、表示される項目情報数を容易且つ正確に変更することができ、現在表示されている項目情報と、閲覧を所望する項目情報との間に多くの項目情報が存在する場合でも、短時間且つ少ない労力で所望する項目情報を閲覧することができる。したがって、ユーザが端末を操作する際のUXを向上させることが可能となる。
また、サーバ3は、項目情報の表示が要求された場合、最初は、先頭から表示項目数分の項目情報のみを送信し、以後、表示する項目情報の変更の要求に従って、指定された項目情報のみを送信する。したがって、サーバ3は、ユーザが必要としない項目情報を送信することを抑制することができ、ネットワーク上の通信量を低減することができる。さらに、サーバ3は、表示する項目情報の変更が要求された場合、Ajax(登録商標)の技術を用いて、指定された項目情報のみを送信する。したがって、サーバ3は、スクロールページャ等の、項目情報以外の画面の情報を送信しなおす必要がなく、ネットワーク上の通信量を低減することができる。
なお、本発明は、本実施形態に限定されるものではない。例えば、本実施形態では、携帯端末2がページ番号解析処理を実施する例を説明したが、サーバ3がページ番号解析処理を実施してもよい。その場合、携帯端末2のページ情報受付部253は、ユーザのフリック操作等により1点が指定された場合、端末通信部21を介してサーバ3に、始点位置情報、始点時刻情報、終点位置情報及び終点時刻情報を送信する。一方、サーバ3のページ情報取得部335は、取得した始点位置情報及び終点位置情報から移動距離を算出し、始点時刻情報及び終点時刻情報から接触時間を算出し、移動距離及び接触時間から操作速度を算出する。また、ページ情報取得部335は、操作速度に基づいて移動可能時間を算出するとともに、移動距離及び操作速度に基づいて移動量を算出し、算出した移動量からスクロールページャの移動が終了した時点で所定位置に位置するページ番号を取得する。さらに、ページ情報取得部335は、算出した移動可能時間及び操作速度をサーバ通信部31を介して携帯端末2に送信する。携帯端末2のページ情報受付部253は、端末通信部21を介してサーバ3から取得した移動可能時間を設定し、取得した移動量だけスクロールページャを移動するように表示部24に表示する。
また、携帯端末2のページ情報受付部253は、ユーザのタップ操作、スワイプ操作等により2点が指定された場合、端末通信部21を介してサーバ3に、第1位置情報及び第2位置情報を送信する。一方、サーバ3のページ情報取得部335は、取得した第1位置情報及び第2位置情報から2点間の距離を算出し、その2点に対応するページ数を取得し、そのページ数分の指定ページ番号を取得する。さらに、ページ情報取得部335は、取得した指定ページ番号をサーバ通信部31を介して携帯端末2に送信する。携帯端末2のページ情報受付部253は、端末通信部21を介してサーバ3から取得した指定ページ番号を指示ページ番号表示欄に表示する。
また、本実施形態では、サーバ3が全ページ数決定処理を実施する例を説明したが、携帯端末2が全ページ数決定処理を実施してもよい。その場合、携帯端末2の端末記憶部22は項目情報の総数を予め記憶する。あるいは、サーバ3は、項目情報の総数に変更があるたびに携帯端末2に送信し、携帯端末2は受信した項目情報の総数を端末記憶部22に記憶する。端末処理部25は、図2に示した各部に加えて、サーバ3の全ページ数決定部333と同様の機能を持つ全ページ数決定部を有する。携帯端末2の全ページ数決定部は、端末記憶部22から項目情報の総数と、表示項目数とを読み出し、項目情報の総数と表示項目数とから全ページ数を算出し、端末通信部21を介してサーバ3に通知する。
また、本実施形態では、サーバ3が項目情報決定処理を実施する例を説明したが、携帯端末2が項目情報決定処理を実施してもよい。その場合、携帯端末2の端末処理部25は、図2に示した各部に加えて、サーバ3の項目情報決定部336と同様の機能を持つ項目情報決定部を有する。携帯端末2の項目情報決定部は、端末記憶部22から表示項目数を読み出すとともに、ページ番号解析部からユーザにより指定されたページ番号を取得する。そして、項目情報決定部は、表示項目数とページ番号とから当該ページ番号に対応する項目情報を決定し、端末通信部21を介してサーバ3に通知する。
また、サーバ3が全ての項目情報を携帯端末2に送信し、携帯端末2が複数の項目情報を複数のページに分割して、ユーザから指定されたページに対応する項目情報を表示するようにしてもよい。その場合、携帯端末2は、サーバ3から受信した全ての項目情報に基づいて、項目管理テーブルを作成するとともに項目情報の総数を算出し、端末記憶部22に記憶する。端末処理部25は、図2に示した各部に加えて、サーバ3のサーバ処理部33の各部のうちゲーム制御部331以外の各部と同様の機能を持つ各部を有する。端末処理部25は、各情報を端末通信部21及びサーバ通信部31を介して送受信することに代えて、端末処理部25内で送受信し、表示部24が出力部として機能する。
また、サーバ3を省略し、携帯端末2が全ての項目情報を予め記憶するものとしてもよい。その場合、端末記憶部22は、項目管理テーブル及び項目管理テーブルに記憶する項目情報の総数等を予め記憶し、端末処理部25は、図2に示した各部に加えて、サーバ3のサーバ処理部33の各部と同様の機能を持つ各部を有する。端末処理部25は、各情報を端末通信部21及びサーバ通信部31を介して送受信することに代えて、端末処理部25内で送受信し、表示部24が出力部として機能する。
また、本実施形態では、1ページあたりの項目情報の表示数を一定にするものとしたが、1ページあたりの項目情報の文字数、行数、データサイズ等を一定にしてもよい。その場合、各携帯端末2の端末記憶部22は、表示項目数の代わりに1ページあたりに表示可能な項目情報の文字数、行数、又はデータサイズを記憶し、表示制御部252は、表示データ取得要求にその文字数、行数、又はデータサイズを含めて送信する。一方、サーバ3のサーバ記憶部32は、各項目情報の文字数、行数、又はデータサイズを記憶し、全ページ数決定部333は、各項目情報の文字数、行数、又はデータサイズと、1ページあたりの項目情報の文字数、行数、又はデータサイズとから、全ページ数を決定する。対応付け部334は、各項目情報の文字数、行数、又はデータサイズと、1ページあたりの項目情報の文字数、行数、又はデータサイズとから、各ページに含まれる項目情報を決定し、全ページ数分の各ページ番号と、各ページに含まれる各項目情報とを対応付ける。
また、本実施形態では、ゲームシステムを例に説明したが、端末からの要求に応じてサーバが検索を行い、端末に検索結果を表示する検索システム、サーバに記憶された、複数の端末からのメッセージを各端末に表示するメッセージ管理システム等に本発明を適用することも可能である。検索システムに本発明を適用する場合、各検索結果が項目情報となり、メッセージ管理システムに本発明を適用する場合、各メッセージが項目情報となる。
また、本実施形態では、携帯端末を例に説明したが、携帯端末の代わりに、インターネット8に接続するための通信インターフェース回路を備え、インターネット8と直接に通信を行うノート型PC等の有線端末を用いてもよい。その場合、操作部23としてキーボード、マウス等を利用し、マウスを用いたユーザのスクロール操作によりページ番号が指定されてもよい。
また、端末処理部25及びサーバ処理部33が備える各機能をコンピュータに実現させるためのコンピュータプログラムは、磁気記録媒体、光記録媒体等のコンピュータにより読み取り可能な記録媒体に記録された形で提供されてもよい。
当業者は、本発明の精神及び範囲から外れることなく、様々な変更、置換、及び修正をこれに加えることが可能であることを理解されたい。