JP3750171B2 - Drawing color changing method and image creating apparatus - Google Patents

Drawing color changing method and image creating apparatus Download PDF

Info

Publication number
JP3750171B2
JP3750171B2 JP35427895A JP35427895A JP3750171B2 JP 3750171 B2 JP3750171 B2 JP 3750171B2 JP 35427895 A JP35427895 A JP 35427895A JP 35427895 A JP35427895 A JP 35427895A JP 3750171 B2 JP3750171 B2 JP 3750171B2
Authority
JP
Japan
Prior art keywords
data
color
animation
character
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP35427895A
Other languages
Japanese (ja)
Other versions
JPH09185701A (en
Inventor
達也 飯島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP35427895A priority Critical patent/JP3750171B2/en
Publication of JPH09185701A publication Critical patent/JPH09185701A/en
Application granted granted Critical
Publication of JP3750171B2 publication Critical patent/JP3750171B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Editing Of Facsimile Originals (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、予め用意された複数の部分画像を用いて画像を作成する技術に関し、特にはその部分画像の描画色を変更するための技術に関する。
【0002】
【従来の技術】
画像を作成する方式の一つとして、スプライト方式がある。このスプライト方式は、スプライト(オブジェクト)、バックグランド等の部分画像を合成する(組み合わせる)ことで画像を作成する方式である。このスプライト方式には、他の方式と比較して高速に画像の作成を行えるという利点がある。このため、テレビゲーム機等の高速な画像作成が要求される装置に広く採用されている。
【0003】
スプライト方式による画像の作成(描画)は、通常、各部分画像に対して優先度をそれぞれ設定し、各部分画像を設定した優先度に従い、優先度が低いほうから高いほうに部分画像を積み重ねる(合成する)ことで行われる。この合成方法で作成された画像では、優先度が高い部分画像がそれよりも優先度が低い部分画像を隠すような形になり、画像上には部分画像が択一的に表示される。その他には、例えば優先度に応じた比率で部分画像の重なっている部分を混ぜ合わせることで、それよりも優先度が高い部分画像に隠れている部分画像を表現する合成方法もある。
【0004】
このようなスプライト方式を採用した従来の画像作成装置では、描画させる部分画像、及びその位置や、部分画像の描画色を選択することにより、所望する任意の画像を作成することができる。また、例えば少しずつその形状が異なる部分画像を複数用意し、これら複数の部分画像を、時間管理を行って表示していくことにより、アニメーション再生を行うことができる。
【0005】
【発明が解決しようとする課題】
上記した従来の画像作成装置であっても、ユーザは任意の画像、更にはアニメーション(動画)再生用の画像を作成することができる。このような作成した画像に対してその一部、例えば描画色を変更することは、非常に良く行われることである。しかし、その変更は、作成した画像(部分画像)毎に行わなければならないため、例えばアニメーション(動画)再生用の画像のように、多くの画像が1つのグループを構成し、それらの画像に使用される部分画像数が多く存在している場合には、描画色の変更を所望する部分画像に対し、それぞれ描画色を変更しなければならず(これは、1枚ずつセル画の描画色を塗り替えるような作業になる)、操作が非常に面倒であるとともに、その作業を完了させるのに長い時間がかかるという問題点が発生していた。
【0006】
通常、部分画像の描画色の選択は、描画色を変更させる部分画像を表示させた状態で、所望の描画色、及びその描画色に変更させたい部分画像(或いはそれの一部)を指定することで行われる。従って、描画色を変更させたい部分画像毎に、その部分画像の表示、描画色、及び描画色を変更させる箇所の指定等の操作を行わなければならない。
【0007】
また、従来の画像作成装置は、作成した画像の表示(アニメーション(動画)としての表示を含む)と、画像の作成とはそれぞれ異なるモードを設定して行うようにしていた。このため、アニメーション再生用の画像(部分画像)に対して描画色の変更を行う場合、1枚の画像に対する変更を行う度にモードの切り換えを行わなければならず、上記問題点をより深刻にさせていた。
【0008】
操作が面倒(操作性が悪い)、作業に時間がかかる、といった問題点は、ユーザに悪い印象を与え、製品の売り上げを低下させる大きな要因となることから、画像作成装置においてもその問題点の解決が強く希求されていた。
【0009】
本発明の課題は、ユーザが所望する画像を容易、且つ短時間に作成できるようにすることにある。
【0010】
【課題を解決するための手段】
本発明の描画色変更方法は、複数の領域に分割された部分画像を複数個記憶する部分画像記憶手段と、複数の色コードを記憶する色コード記憶手段と、各色コード毎に複数の領域の数より少ない種類の描画色データを記憶する描画色データ記憶手段有する画像作成装置であって、複数の部分画像を表示画面上に配置することにより1表示画面分の画像を作成する画像作成装置に適用されることを前提とし、色コード記憶手段より所定の色コードを指定し、指定された色コードに対応する複数の描画色データを描画色データ記憶手段より読出し、読み出された複数の描画色データに基づいて、複数の領域を全て描画するに不足する数の他の描画色データを補間作成し、読み出された複数の描画色データ及び補間作成された描画色データに基づいて複数の領域の描画を行う。
【0020】
本発明の画像作成装置においては、複数の部分画像を表示画面上に配置することにより1表示画面分の画像を作成する画像作成装置であって、複数の部分画像は夫々複数の領域に分割され、複数の色コードを記憶する色コード記憶手段と、各色コード毎に前記複数の領域の数より少ない種類の描画色データを記憶する描画色データ記憶手段と、色コード記憶手段より所定の色コードを指定する色コード指定手段と、色コード指定手段により指定された色コードに対応する複数の描画色データを描画色データ記憶手段より読み出す描画色データ読出手段と、描画色データ読出手段により読み出された複数の描画色データに基づいて、複数の領域を全て描画するに不足する数の他の描画色データを補間作成する補間手段と、描画色データ読出手段により読み出された複数の描画色データ及び補間手段により補間作成された描画色データに基づいて前記複数の領域の描画を行う描画手段と、を具備したことを特徴とする。
【0027】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施の形態につき詳細に説明する。
<第1の実施の形態>
・回路の全体構成、及びその動作
図1は、第1の実施の形態が適用されたシステムの全体回路構成図である。この図1に示すシステムは、テレビ108と、そのテレビ108に接続させて用いられる画像作成装置とから構成される。
【0028】
図1に示すように、本システムは、システム全体の制御を実行するCPU101と、制御プログラム、各種データ等を格納したプログラム/データROM102と、主にCPU101がワーク用として使用するワークRAM103と、CPU101に接続された入力装置104と、プログラム/データROM102に格納されている画像データを用いた画像処理を行うVDP(ビデオディスプレイプロセッサ)105と、スプライト(オブジェクト)、バックグラウンドの各部分画像の画像(グラフィック)データが格納されるSRAM(スタティックRAM)106と、VDP105が出力したRGBアナログ映像信号をNTSC方式の信号に変換するエンコーダ107と、上記テレビ108とを備えて構成されている。
【0029】
上記入力装置104としては、例えば図1に示したようなコントロールパッドが採用される。このコントロールパッド104上には、ユーザにより操作される各種キーが備えられている。具体的には、テレビ108の画面上に表示されたカーソルを移動させるためのカーソル移動キーKY1、アニメーション再生のスタート/ストップを指示するためのスタート/ストップキーKY2、アニメーション再生させる画像を最初の画像に戻すためのリセットキーKY3、画像の作成において選択した内容を確定させるための決定キーKY4、アニメーションとして表示させる画像を順序方向(正方向)に、1コマ分だけ進める正方向コマ送りキーKY5、及びその逆方向に1コマ分だけ戻す逆方向コマ送りキーKY6を備えている。
【0030】
以上の構成において、動作の概略を説明する。
CPU101は、プログラム/データROM102から読み出した制御プログラムを実行することで、ワークRAM103を使用しながら、コントロールパッド104に対して行われたキー操作の検出、及びVDP105の制御を行う。
【0031】
プログラム/データROM102には、画像を構成するスプライト(オブジェクト)、バックグラウンドの各部分画像の画像(グラフィック)データが格納されている。スプライト(オブジェクト)は、主として動く(形状の変化を含む)ものを表現するためのパーツであり、他方のバックグラウンドは、背景を表現するためのパーツである。CPU101は、このROM102に格納されている画像(グラフィック)データをVDP105に転送し、VDP105に、その画像(グラフィック)データをSRAM106に格納させる。CPU101は、VDP105に転送する画像(グラフィック)データを、予め定められた設定、ユーザがコントロールパッド104に対して行った操作内容等から決定する。
【0032】
CPU101から画像(グラフィック)データを転送されたVDP105は、転送された画像(グラフィック)データを所定の形式でSRAM106に格納する。CPU101から転送された画像(グラフィック)データを上記SRAM106に格納した後は、SRAM106に格納した画像(グラフィック)データを用いて、表示させる画像のRGBアナログ映像信号を1走査線毎に生成する。
【0033】
VDP105が生成したRGBアナログ映像信号は、エンコーダ107に出力される。エンコーダ107は、この映像信号で表現される画像をテレビ108の画面上に表示させるために、その映像信号をテレビ規格であるNTSC方式の映像信号に変換した後、テレビ108に出力する。このテレビ108は、画面をラスタ走査することで、画面上に画像を描画する。
・VDP105の構成、及び動作
図2は、VDP105の構成図である。
【0034】
このVDP105は、上記したように、表示させる画像のRGBデータを生成することにより、テレビ108への画面表示を制御する。その構成としては、以下のものを備える。
【0035】
先ず、CPUインタフェース部201は、CPU101との間のデータ転送時におけるインタフェースを制御する。
SRAMインタフェース部202は、後述するオブジェクトジェネレータ部203、及びバックグラウンドジェネレータ部205が、SRAM106に格納されているスプライト(オブジェクト)又はバックグラウンド(背景)の画像(グラフィック)データをアクセスする場合のインタフェースを制御する。また、CPU101から転送されたスプライト(オブジェクト)、バックグラウンドの画像(グラフィック)データを、CPUインターフェイス部201、データバス214を介して受け取り、CPU101がCPUインターフェイス部201、アドレスバス213を介して指定したアドレスに従ってSRAM106にそれを格納する。
【0036】
オブジェクトジェネレータ部203、及びバックグラウンドジェネレータ部204は、各水平期間(図13参照)毎に、SRAM106から、次の水平表示期間内の各ドットの表示座標に配置されるスプライト(オブジェクト)、或いはバックグラウンドの画像(グラフィック)データを読み込み、それぞれの内部のバッファに格納する。
【0037】
オブジェクトアトリビュートメモリ(OAM)部205は、SRAM106に格納されているスプライト(オブジェクト)の表示座標を格納する。この表示座標は、オブジェクトジェネレータ部205が、SRAM106からSRAMインタフェース部202を介してスプライト(オブジェクト)の画像(グラフィック)データを読み出すときのタイミングに対応する。オブジェクトジェネレータ部203は、各スプライト(オブジェクト)の表示座標に従い、SRAM106からSRAMインタフェース部202を介して対象とするスプライト(オブジェクト)の画像(グラフィック)データの読み出しを行う。
【0038】
画像(グラフィック)データは、例えば各ドットの描画色を示す色コードの集合体として用意される。プライオリティコントローラ部206は、各水平表示期間内に対応している各ドット毎に、オブジェクトジェネレータ部203、或いはバックグラウンドジェネレータ部204がそれぞれ出力した色コードのうちの1つを予め定められたプライオリティ(優先順位)に従って選択して出力する。
【0039】
カラールックアップテーブル部207は、各色コードに割り当てられたR(赤)、G(緑)、B(青)のデジタルデータ(RGBデータ)をそれぞれ別の記憶領域に格納しており、プライオリティコントローラ部206が出力した色コードに割り当てられているRGBデータを選択してRGB D/A変換部208に出力する。
【0040】
RGB D/A変換部208は、カラールックアップテーブル部207が出力したRGBデジタルデータをRGBアナログ映像信号に変換して出力する。
オシレータ部209は、VDP105の各部が動作するうえで必要な各種クロックを生成する。
【0041】
水平/垂直同期カウンタ部210は、オシレータ部209が出力するクロックに従って、画像表示に必要な水平同期カウンタ値(水平同期信号)及び垂直同期カウンタ値(垂直同期信号)を生成するためのカウンタ回路である。
【0042】
デコーダ部211は、水平/垂直同期カウンタ部210が出力するカウンタ値から水平同期カウンタ値及び垂直同期カウンタ値をデコードし、VDP105内の各部に供給する。
【0043】
ビデオ信号ジェネレータ部212は、デコーダ部211が出力する水平同期カウンタ値及び垂直同期カウンタ値から、エンコーダ107が必要とするビデオ信号を生成し、エンコーダ107に供給する。
【0044】
次に、上述の構成を有するVDP105の概略動作について説明する。
本実施の形態によるVDP105は、図3に示すように、各ジェネレータ部203〜204が出力する画像(グラフィック)データで表現される画像をそれぞれ仮想的な表示面とし、これらの表示面を重ねることで1枚の表示画面(画像)を形成させる。
【0045】
図3において、背景面はバックグラウンドジェネレータ部204によって作成され、その他の表示面であるオブジェクト面、吹出し面、及びアイコン面はオブジェクトジェネレータ部203によって作成される。これらの表示面は、奥から手前に向けて、背景面、オブジェクト面、吹出し面、アイコン面の順に配置されている。
【0046】
各表示面のプライオリティは、手前の表示面ほど高く設定されている。プライオリティコントローラ部206は、各表示面に設定されている優先度に従い、各ドット毎に、各ジェネレータ部203〜204から出力された画像(グラフィック)データ(色コード)のなかから1つを選択してそれをカラールックアップテーブル部207に出力する。この選択は、当然のことながら、各ジェネレータ部204〜206のなかで選択の対称となる色コードを出力しているものの間で行う。これにより、各表示面は、プライオリティが高い表示面がそれよりもプライオリティが低い表示面を隠すような形で合成される。
【0047】
背景面には背景がアサインされ、オブジェクト面には表示画面上で動かすものがアサインされ、吹出し面には文字を含む吹出しがアサインされ、アイコン面には画像の作成に必要な各種アイコン類等がアサインされる。具体的には、図3に示すように、オブジェクト面には背景オブジェクト、キャラクタがアサインされ、アイコン面にはパレット変更アイコン、パレットアイコン群、及びカーソルアイコンがアサインされている。以降の説明は、各表示面に、図3に示す部分画像がそれぞれアサインされていることを前提として行う。これは、説明を具体的にすることにより、理解を容易とするためである。また、表示面に配置されるパーツについては、それを特定しない場合には部分画像と表現することとする。
【0048】
本実施の形態では、オブジェクト面、吹出し面にアサインされている部分画像、即ちキャラクタ、背景オブジェクト、吹出しのそれぞれの表示の有無、及び表示させる部分画像の描画色を指定することにより、1画面分の画像の作成が行われる。特に詳細な説明は省略するが、表示させる部分画像の選択は、例えば表示可能な部分画像の名称(アイコン面にアサインされる)を表示させたなかから、ユーザがカーソルキーKY1、決定キーKY4等を操作することで行われる。
【0049】
また、本実施の形態では、これらの部分画像の画像(グラフィック)データの他に、これら部分画像を動作させる、いわゆるアニメーションとしての再生を行うためのデータがプログラム/データROM102に格納されている。
【0050】
図4は、キャラクタの表示に関わるデータの構成図であり、同図(a)はキャラクタ表示用、同図(b)はキャラクタ動作用のデータの構成例である。これらは、プログラム/データROM102に格納されているデータである。
【0051】
キャラクタ表示用のデータは、アニメーションデータと画像(グラフィック)データとからなる。
図4(a)のアニメーションデータは、画像(グラフィック)データに付与した番号である画像(グラフィック)データ番号と、その画像(グラフィック)データ番号の画像(グラフィック)データを表示させている時間を示す待ち時間とからなる。待ち時間は、予め定められた時間単位で表現した際の値で用意されている。データ#16の<最初に戻る>コマンドは、アニメーションデータの最初のデータ#0に戻すことを意味する。
【0052】
図4(b)の移動量データは、キャラクタが前回の表示位置から移動させるX方向、Y方向の移動量、及び待ち時間からなる。これらは、キャラクタの表示位置管理を行うためのデータである。一方、初期位置データは、キャラクタの初期表示位置を示すデータである。初期のX座標、Y座標、及び最初に移動量データが加算されるまでの待ち時間からなる。
【0053】
他の動作する部分画像である背景オブジェクト、吹出しの表示用データとして、図5(a)、同図(b)に示すデータがROM102にそれぞれ格納されている。これら図5(a)、及び(b)に示すデータの構成は、基本的には図4に示すキャラクタのものと同じである。しかし、図5(a)の背景オブジェクトのアニメーションデータには、他の部分画像のアニメーションデータには存在しないデータ#0の<表示しない>コマンドがある。この<表示しない>コマンドは、オブジェクト面に背景オブジェクトを配置せず、背景面の背景をそのまま表示させるためのコマンドである。本実施の形態では、この<表示しない>コマンドにより、用意した2つの背景オブジェクトと、これら背景オブジェクトがマスクする背景の部分とで、煙が変化する(たなびく)様子を表現させている。
【0054】
部分画像の描画色は、図3に示すパレットアイコン群のなかからパレットアイコンを一つ選択し、その選択したパレットアイコンで描画させたい部分(部分画像を構成する1領域)を指定することで変更(設定)する。パレットアイコンの選択は、カーソルアイコンを所望のパレットアイコンの位置に移動させた後、決定キーKY4を操作することで行う。描画色の変更を所望する部分の指定は、カーソルアイコンをその部分に移動させた後、決定キーKY4を操作することで行う。
【0055】
本実施の形態では、ユーザの様々な要求に対応できるように、パレットアイコン群(パレット)を複数用意している。パレット変更アイコンは、表示させるパレットアイコン群(パレット)の変更を指示するためのものであり、パレット変更アイコンがクリックされる度に、パレット(パレットアイコン群)が所定の順序でサイクリックに切り替わって表示される。このパレット(パレットアイコン群)毎に表示させる描画色のデータは、図6に示すフォーマットでROM102に格納されている(図中、#を付けて示す数字はパレット番号)。また、ROM102には、吹出し枠内に表示させる文字のデータも格納されている。
【0056】
ROM102に格納されているこれら各種データは、デフォルトで指定されている内容、或いはユーザがコントロールパッド104を操作することで指定した内容に従ってCPU101により読み出される。CPU101は、これらのデータを読み出すと、データの種類により、そのまま、或いは加工してVDP105に送出する。
【0057】
CPU101がVDP105に送出した画像(グラフィック)データは、CPUインターフェイス部201、データバス214、及びSRAMインターフェイス部202を介してSRAM106に送られる。SRAM106は、CPUインターフェイス部201、アドレスバス213、及びSRAMインターフェイス部202を介してCPU101が指定したアドレスに、CPU101から送られた画像(グラフィック)データを図7に示すフォーマットで格納する。
【0058】
背景を除く部分画像は、座標位置の設定により、それが配置(表示)される位置が制御される。CPU101は、SRAM106に格納されている部分画像(画像(グラフィック)データ)を表示させる座標位置等の属性を示すデータ(属性データ)を生成し、VDP105に送出する。VDP105は、この属性データを、CPUインターフェイス部201、データバス214を介してOAM部205に送る。OAM部205は、この送られた属性データを、CPUインターフェイス部201、アドレスバス213を介してCPU101が指定したアドレスに図7に示すフォーマットで格納する。
【0059】
図7に示すように、各部分画像の画像(グラフィック)データとその属性データは、それが格納される領域が予め定められており、それらは対応づけられて格納される。各部分画像は、それがアサインされている表示面のプライオリティの他に、同一の表示面内におけるプライオリティが設定されている。この同一の表示面内におけるプライオリティは、OAM部205(SRAM106)に格納される位置により制御されている。図7において上方に位置しているものほどプライオリティが高く設定されている。具体的には、吹出し面においては吹出し文字のほうが吹出し枠よりも高いプライオリティが設定され、アイコン面においてはカーソルアイコン、パレット変更アイコン、パレットアイコン群の順に高いプライオリティが設定されている。
【0060】
なお、上記部分画像の属性データは、図7に示すように、その部分画像を左右に反転表示させるか否かを示す左右反転フラグ、この属性データに対応するSRAM106内の部分画像を特定させるキャラクタ番号(図中、キャラクタ#N(Nは整数)で表現)、その部分画像を表示させるX、Y座標から構成される。
【0061】
オブジェクトジェネレータ部203は、各水平期間内の時分割された各タイミングで、SRAMインターフェイス部202をアクセスする。このとき、オブジェクトジェネレータ部203は、OAM部205に格納された属性データを基に、SRAM106から読み出された画像(グラフィック)データを内部のラインバッファに格納するタイミングを計算し、そのタイミングで画像(グラフィック)データを各表示面別のラインバッファに格納する。これらのラインバッファには、同一の表示面内におけるプライオリティの高さで優先させて、部分画像の画像(グラフィック)データが格納される。
【0062】
他方のバックグラウンドジェネレータ部204は、オブジェクトジェネレータ部203とは別に、各水平期間内の時分割された各タイミングで、SRAMインターフェイス部202をアクセスして、SRAM106から次の水平期間内に表示すべき背景の画像(グラフィック)データを1ライン分読み出し、それを内部のラインバッファに格納する。
【0063】
このようにして、オブジェクトジェネレータ部203内の3つのラインバッファには、オブジェクト面、吹出し面、アイコン面にそれぞれ配置させる次の1ライン分の画像(グラフィック)データ(色コード)が、各水平期間毎に格納される。他方のバックグラウンドジェネレータ部204内のラインバッファには、背景面に配置させる次の1ライン分の画像(グラフィック)データ(色コード)が、各水平期間毎に格納される。
【0064】
オブジェクトジェネレータ部203、バックグラウンドジェネレータ部204は、水平/垂直同期カウンタ部210から出力される水平同期カウンタ値を入力し、該カウント値に対応する色コードをその内部のラインバッファから読み出してプライオリティコントローラ部206に出力する。
【0065】
プライオリティコントローラ部206は、各ジェネレータ部203、204から出力されたラインバッファ(表示面)毎の色コードを入力すると、各表示面に設定されているプライオリティの高さでそのなかからひとつの色コードを選択してCLT部207に出力する。
【0066】
上述したように、CLT部207は、各色コード毎にそれに割り当てたRGBデータをそれぞれ別の記憶領域に格納したものであり、プライオリティコントローラ部206が出力した色コードに設定されているRGBデータをRGB D/A変換部208に出力する。本実施の形態では、図8に示すように、部分画像の種類毎に色コードを割り当て、また、その部分画像を構成する各部分(領域)の色コードは全て同じ値に統一させている(図10〜図12参照)。
【0067】
スプライト方式によるアニメーション再生では、その表示位置、その形状の変形等を行うことにより、部分画像の動作を実現する手法が用いられる。本実施の形態においては、図4、及び図5から判るように、同一の種類として分類される部分画像を複数用意し、その部分画像の表示切り換え、及びそれの表示位置の移動を行うことにより、部分画像の動作を実現させている。
【0068】
アニメーション再生を行う場合、複数用意されている各部分画像にはそれぞれ描画色が設定されている。このことから、従来、部分画像の描画色の変更には、各部分画像に設定されている描画色をそれぞれ変更しなければならず、そのために非常に面倒な作業が要求されていた。
【0069】
本実施の形態は、表示画面(各表示面を合成後のもの)を構成する各ドットのRGBデータを、CLT部207を用いて生成する方式を採用しているシステムに本発明を適用させたものである。このため、図8に示すように、各部分画像の種類毎に色コードを割り当て、各色コードに設定されているRGBデータを、CLT部207のその色コードに割り当てた記憶領域に格納することにより、部分画像の描画色の変更を種類別に一度に行うことができる。これにより、描画色の変更に要する作業が簡易化するとともに、ユーザはその作業を短時間で終了させることができる。
【0070】
図10〜図12は、各表示面(背景面、オブジェクト面、吹出し面、アイコン面)にアサインされた各部分画像を構成する各領域(主要部分)に割り当てた色コードを示している。
【0071】
本実施の形態では、キャラクタ、背景オブジェクト等においても、それらは複数の領域から構成され、複数の描画色で表現されるようになっている。このため、部分画像の種類毎に複数の色コードを割り当てている。
【0072】
図10は、キャラクタを構成する各部分に割り当てた色コードを示す図である。図10に示すように、キャラクタは、髪、肌、服等の複数の部分(領域)に分けられる。本実施の形態では、キャラクタの動作を表現するために、このような複数の部分(領域)に分けられるキャラクタを複数(全部で8)用意している。しかし、これら形状が異なる各キャラクタにおいて、髪に割り当てた色コードは2、肌に割り当てた色コードは3といったように、キャラクタを構成する各領域に割り当てた色コードの値は同じ値に統一させている。これら色コードは、キャラクタを構成する各部分(領域)を示す識別子となる。
【0073】
背景オブジェクトは、用意されているものの他に(図5(a)参照)、それがマスクする背景の部分を利用して、煙が変化する(たなびく)様子を表現する。このため、図8及び図11から判るように、背景オブジェクトに対しては色コードを割り当てず、背景に割り当てた色コードを背景オブジェクトに共用させている。背景オブジェクトにおいて、煙には色コード55、木には色コード56、屋根には色コード54がそれぞれ割り当てられている。また、吹出し、パレットアイコン、パレットアイコン群の各パレットアイコン、カーソルアイコンにおいても、図8及び図12に示すように、それぞれ色コードが割り当てられている。
【0074】
上記背景は、背景オブジェクトと共通する煙、木、屋根等の他に、雲、山、池等の複数の部分(領域)に分けられる。雲には色コード50、山には色コード51、池には色コード52がそれぞれ割り当てられている。背景、及び背景オブジェクトにおいても、それを構成する各部分(領域)に割り当てた色コードは、それが割り当てられた部分(領域)を示す識別子となる。なお、各部分(領域)の境界を示す輪郭線には、部分画像の種類に関わらず、その描画色として黒が設定される色コード1が割り当てられている。
【0075】
各部分画像を構成する各部分(領域)の描画色は、ユーザにより指定される。このユーザによる描画色の指定に対応するために、CLT部207に格納されているRGBデータの書き換えが行われる。その書き換えは、CPU101がCPUインターフェイス部201、データバス214を介して送出したRGBデータを、CPU101がCPUインターフェイス部201、アドレスバス213を介して指定したアドレスに書き込むことにより実現される。これにより、ユーザが指定した描画色で各部分画像が表現され、ユーザが所望する表示画面が作成される。
【0076】
ところで、周知のように、テレビ108は画面をラスタ走査することで画像を描画する。このため、VDP105は、その走査(フレーム周期)に対応させてRGBアナログ映像信号を出力する。
【0077】
テレビ108の走査に対応させた映像信号の出力は、デコーダ部211が出力する水平同期カウンタ値、及び垂直同期カウンタ値をそれぞれ水平同期信号、垂直同期信号とし、VDP105の各部をこれらのカウンタ値に応じて動作させることで実現される。図13は、画面表示タイミングの説明図である。これは各カウンタ値とその値で示されるドットの表示座標の関係を表したものであり、VDP105の各部は各カウンタ値によって動作が制御される。
【0078】
図13に示すように、デコーダ部211から出力される水平同期カウンタ値が000h〜2FFh(“h”は16進数を示す)まで変化する期間が1水平期間であり、そのうち000h〜0FFhの256カウント分の水平同期カウンタ値に対応する期間が256ドットからなる1ライン分の水平表示期間、それ以外の水平同期カウンタ値に対応する期間が水平ブランク期間である。また、デコーダ部211から出力される垂直同期カウンタ値が000h〜1FFhまで変化する期間が1垂直期間であり、これがテレビ108上の1画面(フィールド)分の表示期間となる。この垂直期間において、000h〜0DFhの224カウント分の垂直同期カウンタ値に対応する期間が垂直方向224ライン分の垂直表示期間、それ以外の垂直同期カウンタ値に対応する期間が垂直ブランク期間である。
【0079】
CLT部207からRGB値 D/A変換部208へは、水平同期カウンタ値がカウントアップされる毎に、1組ずつ(1ドット)のRGBデータが出力される。
【0080】
CPU101からSRAM106、或いはオブジェクトアトリビュートメモリ(OAM)部205への各種データの設定、及び転送は、例えば各垂直ブランク期間内に実行され、これにより表示画面を刻々と変化させることができる。また、本実施の形態においては、CLT部207に格納されているRGBデータの書き換えは垂直ブランク期間を利用して行っている。
・CPU101の詳細動作
先ず、図9、図14、及び図15を参照して、CPU101のアニメーション再生動作について具体的に説明する。図15(a)は、キャラクタ用のアニメーションデータ、初期位置データ、移動量データを示し、同図(b)は、背景オブジェクト用のアニメーションデータを示す。これらは、それぞれキャラクタ、背景オブジェクトの動作を管理するためのデータである。図14は、アニメーションとしての動作例を示すタイミングチャートである。これは、図15に示すデータでアニメーション再生を行った場合に、キャラクタ、背景オブジェクトが動作表現される様子を示したものである。
【0081】
図9は、ワークRAM103のデータ構成図である。CPU101は、ワークRAM103をワーク領域として利用しながら、アニメーション再生を行う。図9は、アニメーション再生を行うためにCPU101がワークRAM103に格納する各種管理用データの構成を示したものである。
【0082】
図9に示すように、管理用データは部分画像毎に分けられる。
キャラクタ管理用データは、移動量カウンタ、移動量データ番号、アニメーションカウンタ、及びアニメーションデータ番号から構成される。移動量カウンタ、及び移動量データ番号は、キャラクタの移動を管理するためのデータであり、図15(a)の移動量データにおいて、移動量カウンタにはデータ#2の待ち時間、移動量データ番号には現在処理中のデータ番号(データ#2を除く)がそれぞれセットされる。
【0083】
アニメーションカウンタ、及びアニメーションデータ番号は、表示させるキャラクタを管理するためのデータであり、図15(a)において、アニメーションカウンタには待ち時間、アニメーションデータ番号には現在表示中のキャラクタ(画像(グラフィック)データ)に割り当てた番号がそれぞれセットされる。
【0084】
背景オブジェクト管理用データは、アニメーションカウンタ、及びアニメーションデータ番号から構成される。アニメーションカウンタ、アニメーションデータ番号には、図15(b)のアニメーションデータにおける待ち時間、現在処理中のデータ番号(待ち時間を除く)がそれぞれセットされる。吹出し管理用データは、背景オブジェクト管理用データとその構成が同じである。
【0085】
アニメーション管理用データは、アニメーション再生を全体的に管理するためのデータであり、アニメーションモード、及びアニメーションフレーム番号から構成される。
【0086】
アニメーションモードは、アニメーション再生を現在行っているか、或いはその再生を停止させている(ポーズ中)かを示すデータである。アニメーションフレーム番号は、アニメーション再生を開始してから経過したフレーム数を示すデータである。
【0087】
アニメーションフレームの周波数は、図14に示すように60である。NTSC方式のフレーム周波数は30であり、1フレームは2フィールドから構成されるので、1フィールドが1アニメーションフレームに対応する。各部分画像用に用意されている待ち時間は、この1アニメーションフレームを基準時間としての値である。CPU101は、例えば、それが備えたタイマ機能により、或いはVDP105の水平/垂直同期カウンタ部210から出力された垂直同期カウンタ値(図13参照)を入力することにより、1アニメーションフレームの時間を認識する。
【0088】
アニメーション再生を行う場合、CPU101は、例えばキャラクタ管理用データのアニメーションカウンタに待ち時間をセットすると、そのセットした値をアニメーションフレームの経過に合わせてデクリメントしていき、その値が0となったらアニメーションデータ番号が示すプログラム/データROM102のアニメーションデータ中のデータを読み出し(図4(a)参照)、次に表示すべきキャラクタ(画像(グラフィック)データ)を特定する。そのキャラクタ(画像(グラフィック)データ)を特定した後は、アニメーションカウンタにはその特定したキャラクタ(画像(グラフィック)データ)を表示させておく待ち時間をセットし、アニメーションデータ番号には更にその次に表示すべきキャラクタ(画像(グラフィック)データ)の番号が格納されているアニメーションデータ中のデータ番号をセットする。他のカウンタとデータ番号の使用方法も上記と同様である。
【0089】
図15(a)において、アニメーションデータにおける全ての待ち時間(データ#1、#3、・・・#15)は6であり、移動量データにおいては、X方向移動量は1、Y方向移動量は0、待ち時間は1である。このため、図14に示すように、6アニメーションフレーム毎にキャラクタの画像(グラフィック)データが切り換えられ、1アニメーションフレーム毎にその表示位置がX方向の正方向に1ずつ移動することになる。なお、X方向、及びY方向の移動量は、例えば表示画面上のドットを基準とした値である。移動量1が1ドットに相当する場合には、キャラクタは1アニメーションフレーム期間(1/60秒)が経過する度に1ドット移動する。
【0090】
一方、背景オブジェクトにおいては、図15(b)に示すように、そのアニメーションデータにおける全ての待ち時間は8である。このため、図14に示すように、8アニメーションフレーム毎に背景オブジェクトの表示(非表示を含む)が切り換えられる。
【0091】
処理フローの説明
図16〜図34に示す動作フローチャートを参照して、CPU101の動作を詳細に説明する。各種の動作フローチャートは、プログラム/データROM102に格納されている制御プログラムをCPU101が実行することにより実現される。
【0092】
図16は、全体処理の動作フローチャートである。
システムの電源がオンされると、先ず、ステップ1601のイニシャル処理を実行する。このイニシャル処理は、VDP105の初期設定等を行う処理である。この処理を実行することにより、テレビ108には初期画面が表示される。その処理の詳細については後述する。
【0093】
ステップ1601のイニシャル処理が終了すると、次に、コントロールパッド104上の各種キーを走査し、それら各種キーの操作状態の情報を取り込む処理を行う(ステップ1602)。このステップ1602の処理が終了すると、ステップ1603の処理に移行する。
【0094】
ステップ1603では、ステップ1602で取り込んだ各種キーの操作状態の情報から、現在操作されているキーの種類を判別する。このステップ1603において、操作されているキーが存在しないと判別した場合、ステップ1619の処理に移行する。何らかのキーが操作されていると判別した場合には、その判別結果に応じて、ステップ1604〜1618の処理を実行する。
【0095】
ステップ1603でカーソル移動キーKY1が操作されていると判別した場合、次にステップ1604の処理に移行する。カーソル移動キーKY1は、上下左右キーから構成される。ステップ1604では、カーソルアイコンの現在の表示位置(XY座標)に対し、カーソル移動キーKY1において操作されたキーの種類に応じた演算を行うことにより、カーソルアイコンを次に表示すべき位置を算出する。この新たに算出した表示位置(XY座標)は、後述するステップ1620において、カーソルアイコンの属性データとして図2に示すOAM部205に送出される。これにより、ユーザがカーソル移動キーKY1に対して行った操作に追従してカーソルアイコンが表示画面上を移動することになる。ステップ1604の処理を終了した後は、ステップ1619の処理に移行する。
【0096】
ステップ1603で決定キーKY4が操作されていると判別した場合、次にステップ1605の処理に移行する。決定キーKY4は、上述したように、所望する内容を実現するための動作の実行をユーザが指示するためのキーである。ステップ1605に続くステップ1606〜1617の処理は、ユーザが実現を指示した内容に応じて行われる。
【0097】
ステップ1605では、カーソルアイコンがパレットアイコン群の何れかのパレットアイコン上にあるか否か判定する。ユーザがカーソルアイコンを表示されている何れかのパレットアイコン上に移動させた後、決定キーKY4を操作した場合、その判定はYESとなってステップ1606の処理に移行する。そうでない場合、その判定はNOとなってステップ1607の処理に移行する。
【0098】
なお、パレットアイコン群を表示させるための画像(グラフィック)データには、色コードが0、即ち透明となっている部分もある(図8参照)。この透明となっている部分(領域)は表示されないことから、カーソルアイコンがその部分(領域)に位置していた場合には、ステップ1605ではカーソルアイコンはパレットアイコン上に位置していないと判定する。これは、カーソルアイコンが他の部分画像上に位置しているか否かを判定する場合も同様である。
【0099】
カーソルアイコンがパレットアイコン上に位置しているか否かは、例えばOAM部205に現在格納させているカーソルアイコンのXY座標と、OAM部205に格納させているパレットアイコン群のXY座標とを比較することにより行う。これは、カーソルアイコンが他の部分画像上に位置しているか否かを判定する場合も同様である。OAM部205に格納されている各種部分画像のXY座標は、ワークRAM103にも格納されており、CPU101は、このワークRAM103から該当する部分画像のXY座標を読み出して、上記の判定を行う。
【0100】
ユーザがカーソルアイコンを表示されている何れかのパレットアイコン上に移動させた後、決定キーKY4を操作した場合、そのパレットアイコンに割り当てられた色コードの選択色(RGBデータ)が、部分画像(それを構成する部分)を塗る描画色となる。ステップ1606では、パレットアイコンに割り当てた色コードのRGBデータを、カーソルアイコンに割り当てた色コードのRGBデータとする描画色変更処理を実行する。その後、ステップ1619の処理に移行する。
【0101】
ステップ1607では、カーソルアイコンがパレット変更アイコン(図3参照)上に位置しているか否か判定する。ユーザが、カーソルアイコンをパレット変更アイコン上に移動させた後、決定キーKY4を操作した場合、その判定はYESとなってステップ1608の処理に移行する。そうでない場合、その判定はNOとなってステップ1609の処理に移行する。
【0102】
パレット変更アイコンは、表示されているパレット(パレットアイコン群)を他のパレット(パレットアイコン群)に変更することをユーザが指示するためのものである。ステップ1608では、表示させるパレット(パレットアイコン群)を変更するパレット変更処理を実行し、その後、ステップ1619の処理に移行する。
【0103】
ステップ1609〜1617では、決定キーKY4が操作されたときにカーソルアイコンが位置している部分画像に応じて、カーソルアイコンに設定されている描画色にその位置の描画色を変更するための処理が行われる。
【0104】
ステップ1609では、カーソルアイコンが吹出し文字(図12参照)上に位置しているか否か判定する。ユーザが、カーソルアイコンを何れかの吹出し文字上に移動させた後、決定キーKY4を操作した場合、その判定はYESとなってステップ1610の処理に移行する。そうでない場合、その判定はNOとなってステップ1611の処理に移行する。
【0105】
ステップ1610では、ユーザが吹出し文字の色変更を指示したとして、吹出し文字をカーソルアイコンの描画色に変更する色変更処理を実行する。この処理を終了した後は、ステップ1619の処理に移行する。
【0106】
ステップ1611では、カーソルアイコンが吹出し枠(図12参照)上に位置しているか否か判定する。ユーザが、吹出し文字を避けた吹出し枠内にカーソルアイコンを移動させた後、決定キーKY4を操作した場合、その判定はYESとなってステップ1612の処理に移行する。そうでない場合、その判定はNOとなってステップ1613の処理に移行する。
【0107】
ステップ1612では、ユーザが吹出し枠の色変更を指示したとして、吹出し枠をカーソルアイコンの描画色に変更する色変更処理を実行する。この処理が終了した後は、ステップ1619の処理に移行する。
【0108】
ステップ1613では、カーソルアイコンがキャラクタ(図10参照)上に位置しているか否か判定する。ユーザが、キャラクタ上にカーソルアイコンを移動させた後、決定キーKY4を操作した場合、その判定はYESとなってステップ1614の処理に移行する。そうでない場合、その判定はNOとなってステップ1615の処理に移行する。
【0109】
ステップ1614では、ユーザがキャラクタの色変更を指示したとして、カーソルアイコンが位置しているキャラクタの部分(領域)をカーソルアイコンの描画色に変更する色変更処理を実行する。この処理が終了した後は、ステップ1619の処理に移行する。
【0110】
ステップ1615では、カーソルアイコンが背景オブジェクト(図11参照)上に位置しているか否か判定する。ユーザが、背景オブジェクト上にカーソルアイコンを移動させた後、決定キーKY4を操作した場合、その判定はYESとなってステップ1616の処理に移行する。そうでない場合、その判定はNOとなってステップ1617の処理に移行する。
【0111】
ステップ1616では、ユーザが背景オブジェクトの色変更を指示したとして、カーソルアイコンが位置している背景オブジェクトの部分(領域)をカーソルアイコンの描画色に変更する色変更処理を実行する。この処理が終了した後は、ステップ1619の処理に移行する。
【0112】
上述したように、背景の一部分をマスクするように配置される背景オブジェクトは、アニメーション再生中に非表示となる期間がある。背景オブジェクトが非表示となっている期間内に、その背景オブジェクトがマスクする背景の部分(領域)の色変更をユーザが指示した場合、ステップ1617の背景の色変更処理を実行し、カーソルアイコンが表示されている部分の描画色を変更する。この処理が終了した後は、ステップ1619の処理に移行する。
【0113】
一方、ステップ1603でその他のキー、即ちスタート/ストップキーKY2、リセットキーKY3、正方向コマ送りキーKY5、逆方向コマ送りキーKY6の何れかが操作されていると判別した場合には、次にステップ1618のアニメーションモード変更処理を実行する。このステップ1618のアニメーションモード変更処理は、ユーザが操作したキーに応じてその内部の処理が行われる。この処理が終了した後は、ステップ1619の処理に移行する。
【0114】
ステップ1619では、アニメーション再生を進行させるためのアニメーション処理を実行する。この処理が終了すると、上述したステップ1604〜1618を実行した結果として生じたVDP105に転送すべきデータを、垂直ブランク期間(図13参照)を利用して転送する処理を行う。この転送処理が終了した後、ステップ1602の処理に戻り、それ以降の処理を同様に実行する。
【0115】
本実施の形態では、上述した図16の全体処理から判るように、コントロールパッド104上に設けられたキー操作に応じて、随時パレットの変更や、カーソルアイコン、吹出し、キャラクタ、背景等の部分画像の色変更を行う。このため、煩わしいモード設定の切り換え操作が回避され、ユーザは迅速、且つ効率的な部分画像の描画色の変更を行うことができる。また、アニメーション再生中であっても部分画像の描画色の変更を行えることから、その部分画像の動きを考慮した色指定を行うことができる。
【0116】
図17は、図16に示すステップ1601として実行されるイニシャル処理の動作フローチャートである。このイニシャル処理を実行することにより、テレビ108の画面上に初期画面が表示される。
【0117】
先ず、ステップ1701では、VDP105内のOAM部205等の初期化を行う。この初期化が終了すると、次にステップ1702において、アニメーションモードをポーズ中に設定し、続くステップ1703では、アニメーションフレーム番号を0に設定する。これらステップ1702、1703の処理を実行すると、ワークRAM103に格納されているアニメーション管理用データ、即ちアニメーションモード、アニメーションフレーム番号には、ポーズ中であることを示す値、0がそれぞれ設定される。
【0118】
ステップ1703に続くステップ1704では、キャラクタを図4(b)の初期位置データが示す表示位置に配置するアニメーションイニシャル処理を実行する。この処理が終了した後、ステップ1705の処理に移行する。
【0119】
ステップ1705では、背景オブジェクトを図5(a)のアニメーションデータに従って配置するアニメーションイニシャル処理を実行する。この処理に続くステップ1706では、吹出しをキャラクタの表示位置に応じて配置するアニメーションイニシャル処理を実行する。この処理を終了した後は、ステップ1707の処理に移行する。
【0120】
ステップ1707〜1711では、輪郭線、キャラクタ、背景、吹出し、及び吹出し文字にそれぞれ割り当てられた各色コードに、それに対応する描画色(RGBデータ)を初期設定する。具体的には、輪郭線、及び吹出し文字に対しては黒を設定し、その他には全て白を設定する。この設定により、初期画面は、白一色を背景として、その背景に各部分画像が有する輪郭線、及び吹出し文字が黒く描かれたものとなる。
【0121】
ステップ1711に続くステップ1712〜1714では、パレット、及びカーソルアイコンの表示に関わる処理が行われる。これらの処理を行うことにより、パレット(パレットアイコン群)、カーソルアイコンは、予め設定されている描画色で初期表示される。
【0122】
先ず、ステップ1712では、パレット管理用データであるパレット番号(図9参照)に0をセットする。続くステップ1713では、パレット番号が0の各パレットアイコンに割り当てられている選択色(全部で10)をプログラム/データROM102から読み出し(図6参照)、これらをCLT部207の色コード246〜255に対応する選択色(RGBデータ)としてセットする。その後、ステップ1714において、色コード245が割り当てられているカーソルアイコンの描画色を、ステップ1713でセットした色コード246の選択色にセットする。
【0123】
ステップ1714に続くステップ1715では、SRAM106に転送すべき画像(グラフィック)データ、VDP105内のOAM部205、CLT部207に書き込むべきデータを、垂直ブランク期間(図13参照)を待って転送する処理を行う。このステップ1715の処理が終了することで、一連の処理が終了する。
【0124】
ワークRAM103には、表示すべき各部分画像の画像(グラフィック)データの番号、それを表示(配置)させる位置、それを構成する各部分(領域)に割り当てられている色コードの描画色(RGBデータ)等の各種データが制御管理用に格納される。上述したステップ1704〜1714の処理を実行した結果は、ワークRAM103に格納されている上記制御管理用データに反映される。上記ステップ1715の処理は、この制御管理用データに基づいて行われる。
【0125】
次に、図18〜図20を参照して、図17に示すステップ1704〜1706の各アニメーションイニシャル処理について詳細に説明する。
はじめに、図18に示す動作フローチャートを参照して、図17に示すステップ1704のキャラクタのアニメーションイニシャル処理について説明する。このキャラクタのアニメーションイニシャル処理は、図4に示すアニメーションデータ、初期位置データ等を基にして、ワークRAM103に格納するキャラクタ管理用データ(図9参照)、VDP105内のOAM部205に格納させるデータの初期設定を行う処理である。
【0126】
先ず、ステップ1801では、OAM部205内のキャラクタに割り当てられている記憶領域に格納するX座標、Y座標を、プログラム/データROM102から読み出したキャラクタの初期位置データ(図4参照)の初期X座標、初期Y座標にセットする。続くステップ1802では、ワークRAM103に格納されるキャラクタ管理用データを構成する移動量カウンタ(図9参照)に、上記初期位置データの待ち時間をセットする。その後、ステップ1803において、上記キャラクタ管理用データを構成する移動量データ番号に0セットする。この0は、上述したように、図4(b)の移動量データにおいてデータ#0で示すデータを指示するものである。移動量データ番号に0をセットした後は、ステップ1804の処理に移行する。
【0127】
ステップ1804では、図4(a)のアニメーションデータのデータ#0から、SRAM106に格納すべきキャラクタの画像(グラフィック)データを特定する。この特定した画像(グラフィック)データは、図17のステップ1715の処理でSRAM106に転送される。
【0128】
続くステップ1805では、キャラクタ管理用データを構成するアニメーションカウンタに、図4(a)のアニメーションのデータ#1、即ち待ち時間をセットする。この待ち時間のセットが終了した後、ステップ1806において、キャラクタ管理用データを構成するアニメーションデータ番号に2をセットする。この2は、上述したように、図4(a)のアニメーションデータにおいてデータ#2で示すデータを指示するものである。アニメーションデータ番号に2をセットした後、一連の処理を終了する。
【0129】
図19は、図17のステップ1705として実行される背景オブジェクトのアニメーションイニシャル処理の動作フローチャートである。次に、このアニメーションイニシャル処理について詳細に説明する。このアニメーションイニシャル処理もキャラクタのアニメーションイニシャル処理と同様に、ワークRAM103に格納する背景オブジェクト管理用データ(図9参照)、VDP105内のOAM部205に格納されるデータの初期設定を行う処理である。
【0130】
先ず、ステップ1901では、プログラム/データROM102から図5(a)のアニメーションデータを読み出し、そのデータ#0が「非表示」コマンドか否か判定する。データ#0が「非表示」コマンドであった場合、その判定はYESとなってステップ1902の処理に移行し、そうでない場合には、その判定はNOとなってステップ1903の処理に移行する。
【0131】
ステップ1902では、背景オブジェクトをオブジェクト面に配置させないために、背景オブジェクトに割り当てられているOAM部205の記憶領域に格納するX、Y座標を、画面外の所定値に設定する。この設定が終了した後、ステップ1905の処理に移行する。
【0132】
一方、ステップ1903では、背景オブジェクトに割り当てられているOAM部205の記憶領域に格納するX、Y座標を、それが対応する背景上の部分(領域)をマスクする所定のX、Y座標に設定する。続くステップ1904では、図5(a)のアニメーションデータのデータ#0に格納されている番号(データ#0には、それが「非表示」コマンドでなければ画像(グラフィック)データを特定する番号が格納される)に対応する画像(グラフィック)データを、SRAM106に転送すべき画像(グラフィック)データとして特定する。それが終了した後、ステップ1905の処理に移行する。
【0133】
ステップ1905では、ワークRAM103に格納される背景オブジェクト管理用データを構成するアニメーションカウンタ(図9参照)に、上記アニメーションデータのデータ#1である待ち時間をセットする。その後、ステップ1906において、上記背景オブジェクト管理用データを構成するアニメーションデータ番号に2をセットする。この2は、上述したように、図5(a)のアニメーションデータにおいてデータ#2で示すデータを指示するものである。アニメーションデータ番号に2をセットした後、一連の処理を終了する。
【0134】
図20は、図17のステップ1706として実行される吹出しのアニメーションイニシャル処理の動作フローチャートである。次に、このアニメーションイニシャル処理について詳細に説明する。
【0135】
本実施の形態では、その表示位置を移動させるキャラクタに吹出しを付けるようにしている。このため、吹出しのアニメーションイニシャル処理では、図18のキャラクタのアニメーションイニシャル処理を実行することで確定したキャラクタの初期表示位置を基に、吹出し、及び吹出し文字の初期表示位置を設定(確定)する。
【0136】
本実施の形態における吹出し文字の総数は、例えば図3から判るように8としている。ステップ2001、2002の処理では、8つの吹出し文字に対し、所定の順序でその初期表示位置のセットを行う。
【0137】
先ず、ステップ2001では、吹出し文字に割り当てられているOAM部205の記憶領域に格納するX、Y座標を、例えばキャラクタの初期表示位置(X、Y座標)に対して所定の演算処理を行うことで求めたX、Y座標にセットする。このステップ2001を実行することでセットされるX、Y座標は1文字分である。このステップ2001では、その実行回数をカウントし、そのカウント値に対応する吹出し文字のX、Y座標のセットを行う。
【0138】
ステップ2001に続くステップ2002では、8文字分のX、Y座標をセットしたか否か判定する。表示させる吹出し文字全てに対してそのX、Y座標をセットした場合、その判定はYESとなってステップ2003の処理に移行する。そうでない場合、その判定はNOとなってステップ2001の処理に戻る。
【0139】
ステップ2003では、吹出し枠に割り当てられているOAM部205の記憶領域に格納するX、Y座標を、例えばキャラクタの初期表示位置(X、Y座標)に対して所定の演算処理を行うことで求めたX、Y座標にセットする。その後、ステップ2004の処理に移行する。
【0140】
ステップ2004〜2006では、プログラム/データROM102から読み出した図5(b)のアニメーションデータに応じた初期設定が行われる。
先ず、ステップ2004では、上記アニメーションデータのデータ#0として格納されている番号から、吹出し枠として表示させる画像(グラフィック)データを特定する。続くステップ2005では、ワークRAM103に格納される吹出し管理用データを構成するアニメーションカウンタ(図9参照)に、上記アニメーションデータのデータ#1である待ち時間をセットする。その後、ステップ2006において、上記吹出し管理用データを構成するアニメーションデータ番号に2をセットする。この2は、上述したように、図5(b)のアニメーションデータにおいてデータ#2で示すデータを指示するものである。アニメーションデータ番号に2をセットした後、一連の処理を終了する。
【0141】
次に、図16のステップ1618として実行されるアニメーションモード変更処理について、図21に示すその動作フローチャートを参照して詳細に説明する。このアニメーションモード変更処理は、上述したように、ユーザがスタート/ストップキーKY12、リセットキーKY3、正方向コマ送りキーKY5、或いは逆方向コマ送りキーKY6を操作した場合に実行される。
【0142】
先ず、ステップ2101では、ユーザが操作したキーの種類を判別する。これ以降に行われるステップ2101〜2117の処理は、ユーザが操作したキーの種類に応じて行われる。
【0143】
ステップ2101において、ユーザが操作したキーはスタート/ストップキーKY2と判別した場合、ステップ2102の処理に移行する。
ステップ2102では、ワークRAM103に格納されるアニメーション管理用データを構成するアニメーションモードから、現在のアニメーション再生の状態を判別する。
【0144】
ステップ2102で現在アニメーション再生を行っていると判定した場合、次にステップ2103において上記アニメーションモードをポーズ中に設定した後、一連の処理を終了する。ステップ2102で現在アニメーション再生がポーズ中であると判定した場合には、次にステップ2104において上記アニメーションモードを再生中に設定した後、一連の処理を終了する。
【0145】
ステップ2101において、ユーザが操作したキーは正方向コマ送りキーKY5と判別した場合、ステップ2105の処理に移行する。
ステップ2105では、ワークRAM103に格納されるアニメーション管理用データを構成するアニメーションモードから、現在のアニメーション再生の状態を判別する。
【0146】
ステップ2105で現在アニメーション再生を行っていると判定した場合、ここで一連の処理を終了する。ステップ2105で現在アニメーション再生がポーズ中であると判定した場合には、ステップ2106の処理に移行する。
【0147】
ステップ2106では、ワークRAM103に格納されるアニメーション管理用データを構成するアニメーションフレーム番号をコマ送り量だけ進める(加算する)。
【0148】
上記コマ送り量は、正方向コマ送りキーKY5に対する一度の操作で進めるアニメーションのフレーム数(1フレーム期間は1/60秒)であり、そのフレーム数は、配置(表示)されるキャラクタ、背景オブジェクトの少なくとも一方が切り替わる(コマ送りされる)ような値とする必要がある。このため、コマ送り量は、例えばキャラクタ管理用データ、背景オブジェクト管理用データそれぞれのアニメーションカウンタの値から決定する。なお、図15に示すようにキャラクタ、背景オブジェクトそれぞれのアニメーションデータが設定されていた場合には、キャラクタの待ち時間は6、背景オブジェクトの待ち時間は8なので、コマ送り量は6〜8(アニメーションフレーム数)の間の値とすることにより、コマ送りを確実に実現させることができる。
【0149】
ステップ2106に続くステップ2107では、ステップ2106の処理で決定されたコマ送り量に従い、キャラクタを正方向にコマ送りするコマ送り処理を実行する。これが終了すると、次にステップ2108において、背景オブジェクトに対しても同様に正方向のコマ送り処理を実行する。このステップ2108の処理が終了後、一連の処理を終了する。
【0150】
ステップ2101において、ユーザが操作したキーは逆方向コマ送りキーKY6と判別した場合、ステップ2109の処理に移行する。
ステップ2109では、ワークRAM103に格納されるアニメーション管理用データを構成するアニメーションモードから、現在のアニメーション再生の状態を判別する。
【0151】
ステップ2109で現在アニメーション再生を行っていると判定した場合、ここで一連の処理を終了する。ステップ2109で現在アニメーション再生がポーズ中であると判定した場合には、ステップ2110の処理に移行する。
【0152】
ステップ2110では、ワークRAM103に格納されるアニメーション管理用データを構成するアニメーションフレーム番号をコマ送り量だけ戻す(減算する)。
【0153】
上記コマ送り量は、逆方向コマ送りキーKY6に対する一度の操作で戻すアニメーションのフレーム数(1フレーム期間は1/60秒)であり、そのフレーム数は、上述した正方向のコマ送り量と同様に、配置(表示)されるキャラクタ、背景オブジェクトの少なくとも一方が切り替わるような値とする必要がある。このため、コマ送り量は、例えばキャラクタ管理用データ、背景オブジェクト管理用データそれぞれのアニメーションカウンタの値から決定する。なお、図15に示すようにキャラクタ、背景オブジェクトそれぞれのアニメーションデータが設定されていた場合には、キャラクタの待ち時間は6、背景オブジェクトの待ち時間は8なので、コマ送り量は6〜8(アニメーションフレーム数)の間の値とすることにより、逆方向のコマ送りを確実に実現させることができる。
【0154】
ステップ2110に続くステップ2111では、ステップ2110において逆方向のコマ送り量だけ戻したアニメーションフレーム番号が0以下か否か判定する。システムの電源をオンすると、図16のステップ1601で図17のイニシャル処理が実行され、アニメーションフレーム番号には0がセットされる。アニメーションフレーム番号が0のときが、アニメーション再生される表示画面が初期画面となる。アニメーションフレーム番号が0以下であれば、その判定はYESとなってステップ2114の処理に移行し、その番号が0よりも大きければ、その判定はNOとなってステップ2112の処理に移行する。後述するように、ステップ2114以降の処理は、初期画面を表示させるための処理である。
【0155】
ステップ2112では、ステップ2110の処理で決定されたコマ送り量に従い、キャラクタを逆方向にコマ送りするコマ送り処理を実行する。これが終了すると、次にステップ2113において、背景オブジェクトに対しても同様に逆方向のコマ送り処理を実行する。このステップ2113の処理が終了後、一連の処理を終了する。
【0156】
ステップ2101において、ユーザが操作したキーはリセットキーKY3と判別した場合、ステップ2114の処理に移行する。ステップ2114〜2117では、上述したように、初期画面を表示させるための一連の処理が行われる。
【0157】
先ず、ステップ2114では、上記アニメーションフレーム番号を0にセットする。その後、ステップ2115〜2117の各処理において、キャラクタ、背景オブジェクト、吹出しの各部分画像のアニメーションイニシャル処理(図18〜図20参照)をそれぞれ実行する。これらアニメーションイニシャル処理が終了した後、一連の処理を終了する。
【0158】
上記したアニメーションモード変更処理は、ユーザがコントロールパッド104上のスタート/ストップキーKY12、リセットキーKY3、正方向コマ送りキーKY5、或いは逆方向コマ送りキーKY6を操作した場合に随時実行される。このため、ユーザは、スタート/ストップキーKY2を任意に操作するだけで、例えば所望する色指定が行い易いキャラクタが表示されている状態でアニメーションの再生をポーズ中にするように、任意の表示画面を選択することができる。これにより、例えば短期間だけ複数の部分画像(オブジェクト)が表示されるようなアニメーションであっても、それら複数の部分画像(オブジェクト)に対する色指定を容易に行えるので、その作業効率を向上させることができる。
【0159】
また、スタート/ストップキーKY2を操作し、アニメーションモードをポーズ中に設定した場合には、コマ送りキーKY5、KY6を操作することにより、表示画面をコマ送りして、所望の表示画面を選択・表示させることができるので、部分画像(オブジェクト)に対する色指定がより容易となる。
【0160】
次に、上述した図21のアニメーションモード変更処理内で実行されるステップ2107、2108、2112、及び2113の各サブルーチン処理について、図22〜図25の動作フローチャートを参照して詳細に説明する。
【0161】
先ず、図22の動作フローチャートを参照して、キャラクタの正方向コマ送り処理について詳細に説明する。上述したように、この正方向コマ送り処理は、図21のステップ2106で決定されたコマ送り量に従い、キャラクタを正方向にコマ送りする処理である。その全体の処理の流れは、ワークRAM103に格納されるキャラクタ管理用データを構成する移動量カウンタ、及びアニメーションカウンタ(図9参照)のデクリメントをコマ送り量分繰り返し、その1回のデクリメントを行う度に、デクリメントした後の各カウンタの値に応じて、キャラクタの移動量、SRAM106に格納させるその画像(グラフィック)データを特定していくものである。
【0162】
先ず、ステップ2201では、上記移動量カウンタをデクリメントする。続くステップ2202では、そのデクリメント後の移動量カウンタの値が0か否か判定する。移動量カウンタの値が0よりも大きい場合、その判定はNOとなってステップ2208の処理に移行する。そうでない場合には、その判定はYESとなってステップ2203の処理に移行する。
【0163】
移動量カウンタの値が0になると、上述したようにキャラクタの移動が行われる。ステップ2203では、ワークRAM103に格納されるキャラクタ管理用データを構成する移動量データ番号をみて、その番号によって指示される移動量データ(図4(b)参照)中のデータであるX、Y方向移動量を、ワークRAM103に格納させている現在のキャラクタのX、Y座標にそれぞれ加える。このX、Y座標は、OAM部205に格納されている、或いは格納すべきキャラクタの表示位置を示すデータである。
【0164】
ステップ2203に続くステップ2204では、上記移動量データを構成する待ち時間を、キャラクタ管理用データを構成する移動量カウンタにセットする。この移動量カウンタへのセットが終了すると、次にステップ2205において、移動量データ番号を先に進め(本実施の形態では3を加算)、その値を更新する。その後、ステップ2206の処理に移行する。
【0165】
ステップ2206では、更新した移動量データ番号が指示するデータが、「最初に戻る」コマンド(図4(b)参照)か否か判定する。そのデータが「最初に戻る」コマンドであった場合、その判定はYESとなってステップ2207の処理に移行する。そうでない場合、その判定はNOとなってステップ2208の処理に移行する。ステップ2207では、そのコマンドに従い、移動量データ番号を先頭のデータ番号、即ち0にセットする。その後、ステップ2208の処理に移行する。
【0166】
上述したステップ2201〜2207は、キャラクタの表示位置を決定するための処理である。これに続くステップ2208〜2214では、表示させるキャラクタを決定するための処理が行われる。
【0167】
先ず、ステップ2208では、上記アニメーションカウンタをデクリメントする。続くステップ2209では、そのデクリメント後のアニメーションカウンタの値が0か否か判定する。アニメーションカウンタの値が0よりも大きい場合、その判定はNOとなってステップ2215の処理に移行する。そうでない場合には、その判定はYESとなってステップ2210の処理に移行する。
【0168】
アニメーションカウンタの値が0になると、上述したように表示させるキャラクタの切り換えが行われる。ステップ2210では、ワークRAM103に格納されるキャラクタ管理用データを構成するアニメーションデータ番号をみて、その番号が指示する図4(a)のアニメーションデータ中のデータからSRAM106に新たに書き込むべき画像(グラフィック)データを特定する。
【0169】
ステップ2210に続くステップ2211では、上記画像(グラフィック)データに対応するアニメーションデータ中の待ち時間をアニメーションカウンタにセットする。このアニメーションカウンタへの待ち時間のセットが終了すると、次にステップ2212において、アニメーションデータ番号を先に進め(本実施の形態では2を加算)、その更新を行う。その後、ステップ2213の処理に移行する。
【0170】
ステップ2213では、更新したアニメーションデータ番号が指示するデータが、「最初に戻る」コマンド(図4(a)参照)か否か判定する。そのデータが「最初に戻る」コマンドであった場合、その判定はYESとなってステップ2214の処理に移行する。そうでない場合、その判定はNOとなってステップ2215の処理に移行する。ステップ2214では、そのコマンドに従い、アニメーションデータ番号を先頭のデータ番号、即ち0にセットする。その後、ステップ2215の処理に移行する。
【0171】
ステップ2215では、コマ送り量分各カウンタをデクリメントしたか否か判定する。コマ送り量分のデクリメントを各カウンタに対して行っていない場合、その判定はNOとなってステップ2201の処理に戻る。そうでない場合、その判定はYESとなり、一連の処理を終了する。
【0172】
図23は、図21のステップ2108として実行される背景オブジェクトの正方向コマ送り処理の動作フローチャートである。次に、この図23を参照して、背景オブジェクトの正方向コマ送り処理について詳細に説明する。
【0173】
上述したように、この正方向コマ送り処理は、図21のステップ2106で決定されたコマ送り量に従い、背景オブジェクトを正方向にコマ送りする処理である。その全体の処理の流れは、ワークRAM103に格納される背景オブジェクト管理用データを構成するアニメーションカウンタ(図9参照)のデクリメントをコマ送り量分繰り返し、その1回のデクリメントを行う度に、デクリメントした後のカウンタの値に応じて、SRAM106に格納させるその画像(グラフィック)データを特定していくものである。
【0174】
先ず、ステップ2301では、上記アニメーションカウンタをデクリメントする。続くステップ2302では、そのデクリメント後のアニメーションカウンタの値が0か否か判定する。アニメーションカウンタの値が0よりも大きい場合、その判定はNOとなってステップ2311の処理に移行する。そうでない場合には、その判定はYESとなってステップ2303の処理に移行する。
【0175】
アニメーションカウンタの値が0になると、上述したように表示させる背景オブジェクトの切り換えが行われる。しかし、背景オブジェクトの場合はキャラクタとは異なり、用意した背景オブジェクトだけでなく、それらがマスクする背景の部分(領域)も利用して煙が変化する様子を表現する。背景オブジェクトがマスクする部分(領域)の利用は、背景オブジェクトを非表示とすることで行われる。
【0176】
このことから、ステップ2303では、ワークRAM103に格納されている背景オブジェクト管理用データを構成するアニメーションデータ番号をみて、その番号が指示する図5(a)のアニメーションデータ中のデータが「表示しない」コマンドか否か判定する。そのデータが「表示しない」コマンドであった場合、その判定はYESとなってステップ2304の処理に移行する。そうでない場合には、その判定はNOとなってステップ2305の処理に移行する。
【0177】
ステップ2304では、ワークRAM103に格納されている背景オブジェクトのX、Y座標を画面外の値に設定する。その後、ステップ2307の処理に移行する。上記ワークRAM103に格納されているX、Y座標は、OAM部205に格納されている、或いは格納すべき背景オブジェクトの表示位置を示すデータである。
【0178】
一方、ステップ2305では、背景オブジェクトの表示を行うことから、ワークRAM103に格納されている背景オブジェクトのX、Y座標を予め定められている所定の値に設定する。続くステップ2306では、アニメーションデータ番号から、次に表示すべき背景オブジェクトの画像(グラフィック)データを特定する。その後、ステップ2307の処理に移行する。
【0179】
ステップ2306で特定した画像(グラフィック)データは、プログラム/データROM102から読み出され、図16のステップ1620でVDP105に転送される。VDP105により、その画像(グラフィック)データはSRAM106に書き込まれることになる。
【0180】
ステップ2307では、ステップ2306で特定した画像(グラフィック)データの待ち時間をアニメーションカウンタにセットする。続くステップ2308では、アニメーションデータ番号を先に進め(2を加算)、そのデータ番号を更新する。その後、ステップ2309の処理に移行する。
【0181】
ステップ2309では、ステップ2308で更新したアニメーションデータ番号が指示するアニメーションデータ中のデータが、「最初に戻る」コマンド(図5(a)参照)か否か判定する。そのデータが「最初に戻る」コマンドであった場合、その判定はYESとなってステップ2310の処理に移行する。そうでない場合、その判定はNOとなってステップ2311の処理に移行する。ステップ2310では、そのコマンドに従い、アニメーションデータ番号を先頭のデータ番号、即ち0にセットする。その後、ステップ2311の処理に移行する。
【0182】
ステップ2311では、コマ送り量分アニメーションカウンタをデクリメントしたか否か判定する。コマ送り量分のデクリメントをカウンタに対して行っていない場合、その判定はNOとなってステップ2301の処理に戻る。そうでない場合、その判定はYESとなり、一連の処理を終了する。
【0183】
図24は、図21のステップ2112として実行されるキャラクタの逆方向コマ送り処理の動作フローチャートである。次に、この図24を参照して、キャラクタの逆方向コマ送り処理について詳細に説明する。
【0184】
上述したように、この逆方向コマ送り処理は、図21のステップ2110で決定されたコマ送り量に従い、キャラクタを逆方向にコマ送りする処理である。その全体の処理の流れは、ワークRAM103に格納されるキャラクタ管理用データを構成する移動量カウンタ、及びアニメーションカウンタ(図9参照)のインクリメントをコマ送り量分繰り返し、その1回のインクリメントを行う度に、インクリメント後の各カウンタの値に応じて、キャラクタの移動量、SRAM106に格納させるその画像(グラフィック)データを特定していくものである。
【0185】
先ず、ステップ2401では、上記移動量カウンタをインクリメントする。続くステップ2402では、そのインクリメント後の移動量カウンタの値が、それに前回設定した待ち時間を超えたか否か判定する。その待ち時間よりも移動量カウンタの値が大きい場合、その判定はYESとなってステップ2403の処理に移行する。そうでない場合には、その判定はNOとなってステップ2408の処理に移行する。
【0186】
設定した待ち時間よりも移動量カウンタの値が大きくなることは、キャラクタを逆方向に移動させる必要が生じたことを意味する。ステップ2403では、ワークRAM103に格納されるキャラクタ管理用データを構成する移動量データ番号を戻し(3を減算)、そのデータ番号を更新する。その後、ステップ2404の処理に移行する。
【0187】
ステップ2404では、更新後の移動量データ番号が0よりも小さいか否か判定する。そのデータ番号が0よりも小さい場合、その判定はYESとなってステップ2405の処理に移行する。そうでない場合には、その判定はNOとなってステップ2406の処理に移行する。ステップ2405では、移動量データ番号に、「最初に戻る」コマンドの3つ前のデータ番号の値、即ち0をセットする。その後、ステップ2406の処理に移行する。
【0188】
ステップ2406では、移動量データ番号により指示される移動量データ(図4(b)参照)中のデータであるX、Y方向移動量を、ワークRAM103に格納させている現在のキャラクタのX、Y座標からそれぞれ減算する。このX、Y座標は、上述したように、OAM部205に格納されている、或いは格納すべきキャラクタの表示位置を示すデータである。
【0189】
ステップ2406に続くステップ2407では、次にキャラクタを逆方向に移動させる移動量をそのX、Y座標から減算するタイミングをとるために、移動量カウンタに1をセットする。その後、ステップ2408の処理に移行する。
【0190】
上述したステップ2401〜2407は、キャラクタの表示位置を決定するための処理である。これに続くステップ2408〜2414では、表示させるキャラクタを決定するための処理が行われる。
【0191】
先ず、ステップ2408では、上記アニメーションカウンタをインクリメントする。続くステップ2409では、そのインクリメント後のアニメーションカウンタの値が前回それに設定した待ち時間を超えたか否か判定する。その待ち時間よりもアニメーションカウンタの値が大きい場合、その判定はYESとなってステップ2410の処理に移行する。そうでない場合には、その判定はNOとなってステップ2415の処理に移行する。
【0192】
設定した待ち時間よりもアニメーションカウンタの値が大きくなることは、キャラクタを切り換える必要が生じたことを意味する。ステップ2410では、ワークRAM103に格納されるキャラクタ管理用データを構成するアニメーションデータ番号を戻し(2を減算)、そのデータ番号を更新する。その後、ステップ2411の処理に移行する。
【0193】
ステップ2411では、更新後のアニメーションデータ番号が0よりも小さいか否か判定する。そのデータ番号が0よりも小さい場合、その判定はYESとなってステップ2412の処理に移行する。そうでない場合には、その判定はNOとなってステップ2413の処理に移行する。ステップ2412では、アニメーションデータ番号に、「最初に戻る」コマンドの2つ前のデータ番号の値、即ち14をセットする(図4(a)参照)。これにより、キャラクタをアニメーション再生とは逆の順序にサイクリックに切り換えることができる。その後、ステップ2413の処理に移行する。
【0194】
ステップ2413では、ステップ2410、或いはステップ2412で設定されたアニメーションデータ番号をみて、キャラクタとして表示すべき画像(グラフィック)データを特定する。続くステップ2414では、次にキャラクタを切り換えるタイミングをとるために、アニメーションカウンタに1をセットする。その後、ステップ2415の処理に移行する。
【0195】
ステップ2415では、コマ送り量分各カウンタをインクリメントしたか否か判定する。コマ送り量分のインクリメントを各カウンタに対して行っていない場合、その判定はNOとなってステップ2401の処理に戻る。そうでない場合、その判定はYESとなり、一連の処理を終了する。
【0196】
図25は、図21のステップ2113として実行される背景オブジェクトの逆方向コマ送り処理の動作フローチャートである。次に、この図25を参照して、背景オブジェクトの逆方向コマ送り処理について詳細に説明する。
【0197】
上述したように、この逆方向コマ送り処理は、図21のステップ2110で決定されたコマ送り量に従い、背景オブジェクトを逆方向にコマ送りする処理である。その全体の処理の流れは、ワークRAM103に格納される背景オブジェクト管理用データを構成するアニメーションカウンタ(図9参照)のインクリメントをコマ送り量分繰り返し、その1回のインクリメントを行う度に、インクリメント後のカウンタの値に応じて、SRAM106に格納させるその画像(グラフィック)データを特定していくものである。
【0198】
先ず、ステップ2501では、上記アニメーションカウンタをインクリメントする。続くステップ2502では、そのインクリメント後のアニメーションカウンタの値が前回それに設定した待ち時間を超えたか否か判定する。その待ち時間よりもアニメーションカウンタの値が大きい場合、その判定はYESとなってステップ2503の処理に移行する。そうでない場合には、その判定はNOとなってステップ2511の処理に移行する。アニメーションカウンタの値が前回それに設定した待ち時間よりも大きくなることは、背景オブジェクトの表示切り換えを行う必要が生じたことを意味する。
【0199】
ステップ2503では、ワークRAM103に格納されている背景オブジェクト管理用データを構成するアニメーションデータ番号を戻し(2を減算)、そのデータ番号の更新を行う。続くステップ2504では、更新後のアニメーションデータ番号が0よりも小さいか否か判定する。そのアニメーションデータ番号が0よりも小さかった場合、その判定はYESとなってステップ2505の処理に移行する。そうでない場合には、その判定はNOとなってステップ2506の処理に移行する。ステップ2505では、アニメーションデータ番号に、「最初に戻る」コマンドが格納されているデータの2つ前、即ち4を設定する(図5(a)参照)。この設定が終了した後、ステップ2506の処理に移行する。
【0200】
ステップ2506では、ステップ2503、或いはステップ2505で更新された後のアニメーションデータ番号が指示するデータが「表示しない」コマンドか否か判定する。そのデータが「表示しない」コマンドであった場合、その判定はYESとなってステップ2507の処理に移行する。そうでない場合には、その判定はNOとなってステップ2508の処理に移行する。
【0201】
ステップ2507では、その「表示しない」コマンドに従い、背景オブジェクトを表示(配置)させないようにするために、ワークRAM103に格納されている背景オブジェクトのX、Y座標を画面外の値に設定する。その後、ステップ2310の処理に移行する。
【0202】
一方、ステップ2508では、背景オブジェクトの表示を行うことから、ワークRAM103に格納されている背景オブジェクトのX、Y座標を予め定められている所定の値に設定する。続くステップ2509では、アニメーションデータ番号から、次に表示すべき背景オブジェクトの画像(グラフィック)データを特定する。その後、ステップ2510の処理に移行する。
【0203】
ステップ2510で特定した画像(グラフィック)データは、プログラム/データROM102から読み出され、図16のステップ1620でVDP105に転送される。VDP105により、その画像(グラフィック)データはSRAM106に書き込まれることになる。
【0204】
ステップ2510では、次に背景オブジェクトの表示切り換えを行うタイミングをとるために、アニメーションカウンタに1をセットする。アニメーションカウンタに1をセットした後は、ステップ2511の処理に移行する。
【0205】
ステップ2511では、コマ送り量分アニメーションカウンタをインクリメントしたか否か判定する。コマ送り量分のインクリメントをカウンタに対して行っていない場合、その判定はNOとなってステップ2501の処理に戻る。そうでない場合、その判定はYESとなり、一連の処理を終了する。
【0206】
次に、図16の全体処理においてステップ1606、1608、1610、1612、1614、1616、及び1617として実行される各変更処理について、図26〜図32の動作フローチャートを参照して詳細に説明する。
【0207】
これら各変更処理は、それに対応する部分画像の色コードに割り当てるRGBデータの設定を、ユーザが指定した内容に応じたRGBデータに変更するものである。これら変更した色コードのRGBデータは、図16のステップ1620の実行を待って、VDP105内のCLT部207に転送され、その色コード用に予め割り当てられている記憶領域に格納されることにより、視覚的な反映が実現される。
【0208】
最初に、上記ステップ1606として実行される描画色変更処理について、図26に示すその動作フローチャートを参照して説明する。この描画色変更処理は、上述したように、カーソルアイコンの描画色(図12(c)に示すように、その色コードは245である)を、ユーザがパレット(パレットアイコン群)のなかから指定した描画色に変更する処理である。
【0209】
先ず、ステップ2601では、ユーザが決定キーKY4を操作したときにカーソルアイコンが表示されていたパレットアイコンの色コードを判定する。図12(b)に示すように、パレット(パレットアイコン群)には246〜255の色コードが割り当てられている。このことから、カーソルアイコンが表示されていたパレットアイコンの色コードが246〜255のなかの何れかであればステップ2602に移行し、そうでなければ一連の処理を終了する。
【0210】
ステップ2602では、ワークRAM103に格納されているパレット番号(図9参照)、ステップ2601で判定した色コードを基に、例えばプログラム/データROM102から該当するRGBデータ(図6参照)を読み取り、このRGBデータを、VDP105内のCLT部207の色コード245のRGBデータとしてセットする。このRGBデータのセットは、ワークRAM103に制御管理用に格納されている色コード毎のRGBデータに対して行われる。それが終了した後、一連の処理を終了する。
【0211】
図27は、図16のステップ1608として実行されるパレット変更処理の動作フローチャートである。次に、この図27を参照して、パレット変更処理について詳細に説明する。
【0212】
このパレット変更処理は、上述したように、カーソルアイコンがパレット変更アイコン上に表示されている状態でユーザが決定キーKY4を操作した場合に実行される。
【0213】
先ず、ステップ2701では、ワークRAM103に格納させているパレット番号を更新する。この更新は、例えばそれまでの値をインクリメントし、このインクリメントによりその値がパレット番号の最大値(図6におけるm)よりも大きくなった場合には0をその値とすることで行われる。
【0214】
ステップ2701に続くステップ2702では、ステップ2701で更新したパレット番号に割り当てられている10個のRGBデータ(図6参照)を、VDP105内のCLT部207の色コード246〜255のRGBデータとしてセットする。このRGBデータのセットは、ワークRAM103に制御管理用に格納されている色コード毎のRGBデータに対して行われる。これが終了した後、一連の処理を終了する。
【0215】
図28は、図16のステップ1610として実行される吹出し文字の色変更処理の動作フローチャートである。次に、この図28を参照して、吹出し文字の色変更処理について詳細に説明する。
【0216】
この吹出し文字の色変更処理は、上述したように、カーソルアイコンが吹出し文字上に表示されている状態でユーザが決定キーKY4を操作した場合に実行される。本実施の形態では、図12(a)において格子状の枠として示す領域内にカーソルアイコンが表示されていた場合、カーソルアイコンが吹出し文字上に表示されていると判定する。
【0217】
先ず、ステップ2801では、ユーザが決定キーKY4を操作したときにカーソルアイコンが表示されていた吹出し文字上の色コードは1(輪郭線)か否か判定する。本実施の形態では、輪郭線の描画色の変更は行わないようにしていることから、その色コードが1であれば一連の処理を終了し、そうでなければステップ2802の処理に移行する。
【0218】
ステップ2802では、カーソルアイコンの色コード245に設定されているRGBデータを、VDP105内のCLT部207に格納すべき吹出し文字の色コード101のRGBデータとしてセットする。このRGBデータのセットは、ワークRAM103に制御管理用に格納されている色コード毎のRGBデータに対して行われる。その後、一連の処理を終了する。
【0219】
図29は、図16のステップ1612として実行される吹出し枠の色変更処理の動作フローチャートである。次に、この図29を参照して、吹出し枠の色変更処理について詳細に説明する。
【0220】
この吹出し枠の色変更処理は、上述したように、カーソルアイコンが吹出し枠内(吹出し文字を除く領域)に表示されている状態でユーザが決定キーKY4を操作した場合に実行される。
【0221】
先ず、ステップ2901では、ユーザが決定キーKY4を操作したときにカーソルアイコンが表示されていた吹出し枠上の色コードは1(輪郭線)か否か判定する。その色コードが1であれば一連の処理を終了し、そうでなければステップ2902の処理に移行する。
【0222】
ステップ2902では、カーソルアイコンの色コード245に設定されているRGBデータを、VDP105内のCLT部207に格納すべき吹出し枠の色コード100(図12(a)参照)のRGBデータとしてセットする。このRGBデータのセットは、ワークRAM103に制御管理用に格納されている色コード毎のRGBデータに対して行われる。その後、一連の処理を終了する。
【0223】
図30は、図16のステップ1614として実行されるキャラクタの色変更処理の動作フローチャートである。次に、この図30を参照して、キャラクタの色変更処理について詳細に説明する。
【0224】
このキャラクタの色変更処理は、上述したように、カーソルアイコンがキャラクタ上に表示されている状態でユーザが決定キーKY4を操作した場合に実行される。
【0225】
先ず、ステップ3001では、ユーザが決定キーKY4を操作したときにカーソルアイコンが表示されていたキャラクタ上の色コードは1(輪郭線)か否か判定する。その色コードが1であれば一連の処理を終了し、そうでなければステップ3002の処理に移行する。
【0226】
図10に示すように、キャラクタは複数の部分(領域)から構成される。ステップ3002では、カーソルアイコンが表示されていたキャラクタの部分(領域)を求め、カーソルアイコンの色コード245に設定されているRGBデータを、カーソルアイコンが表示されていたキャラクタの部分(領域)の色コードのRGBデータとしてセットする。このセットしたRGBデータは、VDP105内のCLT部207のその色コードのRGBデータとして格納されるものであり、そのセットは、ワークRAM103に制御管理用に格納されている色コード毎のRGBデータに対して行われる。これが終了した後、一連の処理を終了する。
【0227】
図31は、図16のステップ1616として実行される背景オブジェクトの色変更処理の動作フローチャートである。次に、この図31を参照して、背景オブジェクトの色変更処理について詳細に説明する。
【0228】
この背景オブジェクトの色変更処理は、上述したように、カーソルアイコンが背景オブジェクト上に表示されている状態でユーザが決定キーKY4を操作した場合に実行される。
【0229】
先ず、ステップ3101では、ユーザが決定キーKY4を操作したときにカーソルアイコンが表示されていた背景オブジェクト上の色コードは1(輪郭線)か否か判定する。その色コードが1であれば一連の処理を終了し、そうでなければステップ3102の処理に移行する。
【0230】
図11(b)に示すように、背景オブジェクトは複数の部分(領域)から構成される。ステップ3102では、カーソルアイコンが表示されていた背景オブジェクトの部分(領域)を求め、カーソルアイコンの色コード245に設定されているRGBデータを、カーソルアイコンが表示されていた背景オブジェクトの部分(領域)の色コードのRGBデータとしてセットする。このセットしたRGBデータは、VDP105内のCLT部207のその色コードのRGBデータとして格納されるものであり、そのセットは、ワークRAM103に制御管理用に格納されている色コード毎のRGBデータに対して行われる。このRGBデータのセットが終了した後、一連の処理を終了する。
【0231】
図32は、図16のステップ1617として実行される背景の色変更処理の動作フローチャートである。次に、この図32を参照して、背景の色変更処理について詳細に説明する。
【0232】
この背景の色変更処理は、上述したように、カーソルアイコンが背景上に表示されている状態でユーザが決定キーKY4を操作した場合に実行される。これは、背景オブジェクトが表示されていない状態において、ユーザが決定キーKY4を操作した際のカーソルアイコンの表示位置が背景オブジェクトによりマスクされる領域内であった場合も含まれる。
【0233】
先ず、ステップ3201では、ユーザが決定キーKY4を操作したときにカーソルアイコンが表示されていた背景上の色コードは1(輪郭線)か否か判定する。その色コードが1であれば一連の処理を終了し、そうでなければステップ3202の処理に移行する。
【0234】
図11(a)に示すように、背景は複数の部分(領域)から構成される。ステップ3202では、カーソルアイコンが表示されていた背景の部分(領域)を求め、カーソルアイコンの色コード245に設定されているRGBデータを、カーソルアイコンが表示されていた背景の部分(領域)の色コードのRGBデータとしてセットする。このセットしたRGBデータは、VDP105内のCLT部207のその色コードのRGBデータとして格納されるものであり、そのセットは、ワークRAM103に制御管理用に格納されている色コード毎のRGBデータに対して行われる。このRGBデータのセットが終了した後、一連の処理を終了する。
【0235】
図26〜図32に示す各変更処理は、決定キーKY4が操作された場合に実行される。このため、アニメーション再生を行っているか否かに関わらず、ユーザは随時カーソルアイコンに描画色を設定し、部分画像を所望の描画色に変更することができる。これにより、部分画像の色指定作業が簡易化され、その作業を短時間で終了させることができる。
【0236】
次に、図16のステップ1619として実行されるアニメーション処理について、図33〜図34に示すその動作フローチャートを参照して詳細に説明する。このアニメーション処理は、アニメーションモードが再生中であった場合に、図4及び図5に示す各部分画像のアニメーションデータ、移動量データに従い、アニメーション再生を行うための処理である。このアニメーション処理は、1アニメーションフレーム毎、即ち1/60秒毎に行われる。
【0237】
先ず、ステップ3301では、現在のアニメーションモードの判定を行う。この判定は、ワークRAM103に格納されているアニメーション管理用データを構成するアニメーションモード(図9参照)を読み出すことで行われる。そのアニメーションモードが再生中であった場合、ステップ3302の処理に移行し、それがポーズ中であった場合には、ここで一連の処理を終了する。
【0238】
ステップ3302〜3315では、キャラクタの表示に関わる処理が行われる。上述したように、アニメーション処理は1アニメーションフレーム毎に行われ、また、キャラクタのアニメーションデータ、移動量データ等の中の待ち時間はアニメーションフレーム期間を基準とした値であるので、ワークRAM103に格納されているキャラクタ管理用データを構成する移動量カウンタ、アニメーションカウンタをデクリメントし、各カウンタのそのデクリメント後の値に応じて処理が行われる。
【0239】
先ず、ステップ3302では、上記移動量カウンタをデクリメントする。続くステップ3303では、そのデクリメント後の移動量カウンタの値が0か否か判定する。移動量カウンタの値が0よりも大きい場合、その判定はNOとなってステップ3309の処理に移行する。そうでない場合には、その判定はYESとなってステップ3304の処理に移行する。
【0240】
移動量カウンタの値が0になったことは、キャラクタを移動させる必要が生じたことを意味する。ステップ3304では、ワークRAM103に格納されている移動量データ番号をみて、その番号によって指示される移動量データ(図4(b)参照)中のデータであるX、Y方向移動量を、ワークRAM103に格納させている現在のキャラクタのX、Y座標にそれぞれ加える。このX、Y座標は、OAM部205に格納されている、或いは格納すべきキャラクタの表示位置を示すデータである。
【0241】
ステップ3304に続くステップ3305では、上記移動量データを構成する待ち時間を、キャラクタ管理用データを構成する移動量カウンタにセットする。この移動量カウンタへの待ち時間のセットが終了すると、次にステップ3306において、移動量データ番号を先に進め(本実施の形態では3を加算)、その値を更新する。その後、ステップ3307の処理に移行する。
【0242】
ステップ3307では、更新した移動量データ番号が指示するデータが、「最初に戻る」コマンド(図4(b)参照)か否か判定する。そのデータが「最初に戻る」コマンドであった場合、その判定はYESとなってステップ3308の処理に移行する。そうでない場合、その判定はNOとなってステップ3309の処理に移行する。ステップ3308では、そのコマンドに従い、移動量データ番号を先頭のデータ番号、即ち0にセットする。その後、ステップ3309の処理に移行する。
【0243】
上述したステップ3302〜3308は、キャラクタの表示位置を決定するための処理である。これに続くステップ3309〜3315では、表示させるキャラクタを決定するための処理が行われる。
【0244】
先ず、ステップ3309では、上記アニメーションカウンタをデクリメントする。続くステップ3310では、そのデクリメント後のアニメーションカウンタの値が0か否か判定する。アニメーションカウンタの値が0よりも大きい場合、その判定はNOとなってステップ3316の処理に移行する。そうでない場合には、その判定はYESとなってステップ3311の処理に移行する。
【0245】
アニメーションカウンタの値が0になったことは、上述したように表示させるキャラクタの表示切り換えを行う必要が生じたことを意味する。ステップ3311では、ワークRAM103に格納されるキャラクタ管理用データを構成するアニメーションデータ番号をみて、その番号が指示する図4(a)のアニメーションデータ中のデータからSRAM106に新たに書き込むべき画像(グラフィック)データを特定する。
【0246】
ステップ3311に続くステップ3312では、上記画像(グラフィック)データに対応するアニメーションデータ中の待ち時間をアニメーションカウンタにセットする。このアニメーションカウンタへの待ち時間のセットが終了すると、次にステップ3313において、アニメーションデータ番号を先に進め(本実施の形態では2を加算)、その更新を行う。その後、ステップ3314の処理に移行する。
【0247】
ステップ3314では、更新したアニメーションデータ番号が指示するデータが、「最初に戻る」コマンド(図4(a)参照)か否か判定する。そのデータが「最初に戻る」コマンドであった場合、その判定はYESとなってステップ3315の処理に移行する。そうでない場合、その判定はNOとなってステップ3316の処理に移行する。ステップ3315では、そのコマンドに従い、アニメーションデータ番号を先頭のデータ番号、即ち0にセットする。その後、ステップ3316の処理に移行する。
【0248】
ステップ3316〜3325では、背景オブジェクトの表示に関わる処理が行われる。それらの処理は、アニメーション処理が1アニメーションフレーム毎に行われるので、ワークRAM103に格納されている背景オブジェクト管理用データのアニメーションカウンタ(図9参照)をデクリメントし、そのデクリメント後のアニメーションカウンタの値に応じた内容で行われる。
【0249】
先ず、ステップ3316では、上記アニメーションカウンタをデクリメントする。続くステップ3317では、そのデクリメント後のアニメーションカウンタの値が0か否か判定する。アニメーションカウンタの値が0よりも大きい場合、その判定はNOとなって図34のステップ3326の処理に移行する。そうでない場合には、その判定はYESとなってステップ3318の処理に移行する。
【0250】
アニメーションカウンタの値が0になったことは、上述したように表示させる背景オブジェクトの表示切り換えを行う必要が生じたことを意味する。また、背景オブジェクトは、アニメーション再生中において非表示となっている期間がある。このことから、ステップ3318では、ワークRAM103に格納されている背景オブジェクト管理用データを構成するアニメーションデータ番号をみて、その番号が指示する図5(a)のアニメーションデータ中のデータが「表示しない」コマンドか否か判定する。そのデータが「表示しない」コマンドであった場合、その判定はYESとなってステップ3319の処理に移行する。そうでない場合には、その判定はNOとなってステップ3320の処理に移行する。
【0251】
ステップ3319では、背景オブジェクトを非表示とするために、ワークRAM103に格納されている背景オブジェクトのX、Y座標を画面外の値に設定する。その後、ステップ3322の処理に移行する。上記ワークRAM103に格納されているX、Y座標は、OAM部205に格納されている、或いは格納すべき背景オブジェクトの表示位置を示すデータである。
【0252】
一方、ステップ3320では、背景オブジェクトの表示を行うことから、ワークRAM103に格納されている背景オブジェクトのX、Y座標を予め定められている所定の値に設定する。続くステップ3321では、アニメーションデータ番号から、次に表示すべき背景オブジェクトの画像(グラフィック)データを特定する。その後、ステップ3322の処理に移行する。
【0253】
ステップ3321で特定した画像(グラフィック)データは、プログラム/データROM102から読み出され、図16のステップ1620でVDP105に転送される。VDP105により、その画像(グラフィック)データはSRAM106に書き込まれることになる。
【0254】
ステップ3322では、ステップ3321で特定した画像(グラフィック)データの待ち時間をアニメーションカウンタにセットする。続くステップ3323では、アニメーションデータ番号を先に進め(2を加算)、そのデータ番号を更新する。その後、ステップ3324の処理に移行する。
【0255】
ステップ3324では、ステップ3323で更新したアニメーションデータ番号が指示するアニメーションデータ中のデータが、「最初に戻る」コマンド(図5(a)参照)か否か判定する。そのデータが「最初に戻る」コマンドであった場合、その判定はYESとなってステップ3325の処理に移行する。そうでない場合、その判定はNOとなって図34のステップ3326の処理に移行する。ステップ3325では、そのコマンドに従い、アニメーションデータ番号を先頭のデータ番号、即ち0にセットする。その後、図34のステップ3326の処理に移行する。
【0256】
図34のステップ3326〜3335では、吹出しの表示に関わる処理が行われる。それらの処理を行うことにより、図5(b)のアニメーションデータに基づく吹出し枠の表示切り換えが実現される。
【0257】
先ず、ステップ3326では、吹出し文字に割り当てられているOAM部205の記憶領域に格納するX、Y座標を、例えばステップ3304で確定したキャラクタの次の表示位置(X、Y座標)に対して所定の演算処理を行うことで求めた値にセットする。このステップ3326を実行することでセットされるX、Y座標は1文字分である。本実施の形態では、吹出し文字を8文字表示できるようにしていることから、このステップ3326では、その実行回数をカウントし、そのカウント値に対応する吹出し文字のX、Y座標のセットを行う。
【0258】
ステップ3326に続くステップ3327では、8文字分のX、Y座標をセットしたか否か判定する。表示させる吹出し文字全てに対してそのX、Y座標をセットした場合、その判定はYESとなってステップ3328の処理に移行する。そうでない場合、その判定はNOとなってステップ3326の処理に戻る。
【0259】
ステップ3328では、OAM部205の吹出し枠に割り当てられている記憶領域に格納するX、Y座標を、例えば吹出し文字の場合と同様に、ステップ3304で確定したキャラクタの次の表示位置(X、Y座標)に対して所定の演算処理を行うことで求めた値にセットする。その後、ステップ3329の処理に移行する。
【0260】
上記したステップ3326〜3328は、吹出し文字の表示に関わる処理である。これに続くステップ3329〜3335では、吹出し枠の表示に関わる処理が行われる。
【0261】
先ず、ステップ3329では、ワークRAM103に吹出し管理用データの一つとして格納されているアニメーションカウンタ(図9参照)をデクリメントする。続くステップ3330では、そのデクリメント後のアニメーションカウンタの値が0か否か判定する。アニメーションカウンタの値が0よりも大きい場合、その判定はNOとなってステップ3336の処理に移行する。そうでない場合には、その判定はYESとなってステップ3331の処理に移行する。
【0262】
アニメーションカウンタの値が0になったことは、上述したように表示させる吹出し枠の表示切り換えを行う必要が生じたことを意味する。ステップ3331では、ワークRAM103に格納される吹出し管理用データを構成するアニメーションデータ番号をみて、その番号が指示する図5(b)のアニメーションデータ中のデータからSRAM106に新たに書き込むべき画像(グラフィック)データを特定する。
【0263】
ステップ3331に続くステップ3332では、上記画像(グラフィック)データに対応するアニメーションデータ中の待ち時間をアニメーションカウンタにセットする。このアニメーションカウンタへの待ち時間のセットが終了すると、次にステップ3333において、アニメーションデータ番号を先に進め(2を加算)、その更新を行う。その後、ステップ3334の処理に移行する。
【0264】
ステップ3334では、更新したアニメーションデータ番号が指示するデータが、「最初に戻る」コマンド(図5(b)参照)か否か判定する。そのデータが「最初に戻る」コマンドであった場合、その判定はYESとなってステップ3335の処理に移行する。そうでない場合、その判定はNOとなってステップ3336の処理に移行する。ステップ3335では、そのコマンドに従い、アニメーションデータ番号を先頭のデータ番号、即ち0にセットする。その後、ステップ3336の処理に移行する。
【0265】
ステップ3336では、ワークRAM103にアニメーション管理用データの一つとして格納されているアニメーションフレーム番号をインクリメントする。このアニメーションフレーム番号のインクリメントが終了した後、一連の処理を終了する。
【0266】
上述したように、この図16のステップ1619であるアニメーション処理が終了した後に、ステップ1620において、SRAM106に格納すべき画像(グラフィック)データの転送、VDP105内のOAM部205への属性データの格納、及びVDP105内のCLT部207へのRGBデータの格納が行われる。
・変形例
本実施の形態では、キャラクタ、背景の一部分の動作を表現するために、複数のキャラクタ、背景オブジェクトを用意していることから、例えばキャラクタにおいては、それら複数のキャラクタに対し、それを構成する各部分(領域)毎に共通の色コードを割り当てている。言い換えれば、部分画像の種類別に共通の色コードの割り当てを行っている。しかし、本発明は、このようなことにのみ限定されるものではなく、幅広い適用が可能である。例えば、木と、その木が映った水面を有する構成の画像の場合には、その木と水面に映った木を同一のグループとして分類し、その一方に対して描画色の変更が行われると、それに応じて他方の描画色の変更を行うようにしても良い。このようにした場合、それらの描画色は必ずしも同一でなくても良い。
【0267】
また、本実施の形態では、キャラクタ自体の動作を表現するために、キャラクタ全体の表示切り換えを行っているが、例えば背景における背景オブジェクトのように、キャラクタの一部分をマスクするオブジェクトを複数用意し、そのオブジェクトの表示切り換えを行うことにより、キャラクタ自体の動作を表現するようにしても良い。このようにした場合には、そのオブジェクトに割り当てる色コードをキャラクタのそれに対応する色コードとすればよく、本発明の適用は容易である。これは、表示画面を複数用意し、その表示画面の表示切り換えを行うことにより、表示画面内の物の動作を表現するような方式を採用した場合であっても同様である。
【0268】
また、本実施例では、入力装置104としてコントロールパッドを採用し、そのコントロールパッド104上に設けられている各種キーをユーザが操作することで、任意の描画色を所望する部分画像に設定するようにしているが、表示画面上に更にアイコン等を表示させ、全ての操作をマウス等のポインティングデバイスのみで行えるようにしても良い。その逆に、コントロールパッド104上に設けたキーで全ての操作を行えるようにしても良い。
【0269】
パレット(パレットアイコン群)については、本実施の形態ではユーザはプログラム/データROM102に予め用意されているものしか利用できないが、各パレットアイコンの描画色(RGBデータ)をユーザが自由に設定できるようにしても良い。各部分画像の動作を決定するアニメーションデータ、移動量データ等においては、例えば、それらを複数用意し、ユーザがそのなかから自由に選択できるようにしても良く、ユーザがそれらのデータを自由に設定できるようにしても良い。このようにすることにより、ユーザに対してより幅広い楽しみ方を提供することができるようになる。
<第2の実施の形態>
・第2の実施の形態の概要
上述した第1の実施の形態は、ユーザが部分画像に対して色指定を行うと、ユーザが指定した描画色に瞬時に部分画像の描画色を反映させている。この第2の実施の形態は、ユーザが色指定を行うと、キャラクタ、背景オブジェクト、及び背景の各部分画像の描画色を元の描画色から指定された描画色に徐々に変化させるようにしたものである。これにより、ユーザは、色指定することで描画色が変更される領域を確認することができる。また、その変化させる様子により、視覚的効果をユーザに提供することができるようになる。
【0270】
第2の実施の形態では、第1の実施の形態と比較して、上記の効果が得られるが、その構成、及び各部の動作は第1の実施の形態のそれとほぼ同じである。このため、第1の実施の形態から異なる部分についてのみ説明する。
・CPU101の概略動作
図35は、パレット管理用データの構成図である。このパレット管理用データは、ワークRAM103に格納されるデータである。第1の実施の形態においては、図9に示すように、パレット管理用データはパレット番号のみである。図35は、それに追加される分のパレット管理用データを示したものである。
【0271】
第2の実施の形態において追加されたパレット管理用データは、図35に示すように、色変更カウンタ、最終R成分データ、最終G成分データ、最終B成分データ、R成分変位量、G成分変位量、及びB成分変位量とから構成される。
【0272】
色変更カウンタは、描画色が指定されてから実際に指定された描画色を反映させるまでの時間(アニメーションフレーム数)をカウントするためのものであり、描画色が指定されたときに、その反映させるまでの色変更時間がセットされる。この色変更カウンタにセットされる色変更時間は、プログラム/データROM102に予め用意したデータ、或いはユーザが設定した値である。
【0273】
最終R成分データ、最終G成分データ、及び最終B成分データは、ユーザが指定した描画色のRGBデータをRGBの各成分に分けたものである。R成分変位量、G成分変位量、及びB成分変位量は、単位時間当たりに現在の描画色のRGB各成分に加算していく値である。その値は、色指定された領域の元の描画色を指定された描画色に、色変更カウンタにセットされる色変更時間で変化させるように算出した値である。
【0274】
各部分画像の現在の描画色(RGBデータ)は、上記パレット管理用データとは別に、ワークRAM103の所定の記憶領域に格納されている。CPU101は、この現在の描画色と、パレット管理用データとを基に、色指定された領域の描画色を、色指定が行われてから徐々に変更する。
・CPU101の詳細動作
図36〜図38に示す各動作フローチャートを参照して、CPU101の動作を詳細に説明する。第2の実施の形態では、図16に示す全体処理において、ステップ1614、1616、1617の各色変更処理の内容が第1の実施の形態とは異なっている。このため、これら各色変更処理についてのみ説明する。
【0275】
図36は、図16のステップ1614として実行されるキャラクタの色変更処理の動作フローチャートである。この図36を参照して、最初にキャラクタの色変更処理について詳細に説明する。このキャラクタの色変更処理は、カーソルアイコンがキャラクタ上に表示されている状態でユーザが決定キーKY4を操作した場合に実行される。
【0276】
先ず、ステップ3601では、ユーザが決定キーKY4を操作したときにカーソルアイコンが表示されていたキャラクタ上の色コードは1(輪郭線)か否か判定する。その色コードが1であれば一連の処理を終了し、そうでなければステップ3602の処理に移行する。
【0277】
ステップ3602〜3605では、図35のパレット管理用データに対する設定が行われる。
先ず、ステップ3602では、色変更カウンタに色変更時間をセットする。続くステップ3603では、ユーザが指定した描画色、即ちカーソルアイコンに割り当てられている色コード245の描画色(RGBデータ)をRGB各成分に分け、これら各成分を最終R成分データ、最終G成分データ、及び最終B成分データにそれぞれセットする。その後、ステップ3604の処理に移行する。
【0278】
ステップ3604では、ユーザが色指定したキャラクタの部分(領域)に現在設定されている描画色(RGBデータ)を、RGB各成分に分ける。現在設定されている描画色は、ワークRAM103からそれに対応する描画色(RGBデータ)を読み出すことで得たものであり、そのRGBデータはVDP105内のCLT部207に現在格納されているものと同じである。
【0279】
ステップ3604に続くステップ3605では、上記ステップ3603、3604で得たそれぞれのRGB各成分から、単位時間(1アニメーションフレーム期間)当たりのRGB各成分の変位量を算出し、これらをパレット管理用データのR成分変位量、G成分変位量、及びB成分変位量としてそれぞれセットする。これが終了した後、ステップ3606の処理に移行する。
【0280】
ステップ3606〜3612では、上記ステップ3602〜3605で設定された各種条件に従い、指定されたキャラクタの部分(領域)の描画色を徐々に変更していくための処理が行われる。このステップ3606〜3612は、色変更カウンタをデクリメントしながら、1アニメーションフレーム期間(1/60秒)毎に1度の頻度で繰り返し実行される。
【0281】
先ず、ステップ3606では、指定されたキャラクタの部分(領域)に現在設定されている描画色のRGB各成分に、ステップ3605で設定したRGB各成分変位量をそれぞれ対応させて加算する。
【0282】
ステップ3606に続くステップ3607では、ステップ3606で算出したRGB各成分とステップ3603で設定した最終RGB各成分とを成分別に比較し、ステップ3606で算出したRGB何れかの成分が、それに対応するステップ3603で設定した最終RGB各成分を超えたか否か判定する。ステップ3606で算出したRGB各成分のなかで、その最終値(最終RGB各成分)よりも大きい値のものが一つでも存在していた場合、その判定はYESとなってステップ3608の処理に移行する。そうでない場合には、その判定はNOとなってステップ3609の処理に移行する。ステップ3608では、最終値(最終RGB各成分)を超えた成分をその最終値(最終RGB各成分)にして、CLT部207に書き込むべきRGBデータを設定しなおす。
【0283】
ステップ3606で算出したRGBデータ、或いはステップ3608で設定しなおしたRGBデータは、それまでの描画色のRGBデータの換わりとしてワークRAM103に格納され、後述するように、VDP105内のCLT部207に転送される。
【0284】
ステップ3609では、アニメーション処理を実行する。このアニメーション処理は、図16のステップ1619として実行されるものと同じ処理である。このアニメーション処理を実行することにより、アニメーション再生が進行することになる。
【0285】
ステップ3609に続くステップ3610では、上記ステップ3606〜3609を実行することで発生したVDP105に転送すべきデータを、垂直ブランク期間(図13参照)を待って転送する。この処理を実行することにより、ユーザが指定した領域の色データのRGBデータとして新たに設定したRGBデータが、VDP105内のCLT部207の対応する記憶領域に書き込まれ、表示される描画色が変化することになる。
【0286】
ステップ3610に続くステップ3611では、色変更カウンタをデクリメントする。続くステップ3612では、デクリメント後の色変更カウンタは0か否か判定する。ユーザが色指定を行ってから色変更時間経過していない場合、その判定はNOとなってステップ3606の処理に戻る。そうでない場合には、即ちユーザが色指定を行ってから色変更時間経過した場合には、その判定はYESとなり、一連の処理を終了する。
【0287】
図37は、図16のステップ1616として実行される背景オブジェクトの色変更処理の動作フローチャートである。この図37を参照して、次に背景オブジェクトの色変更処理について詳細に説明する。この背景オブジェクトの色変更処理は、カーソルアイコンが背景オブジェクト上に表示されている状態でユーザが決定キーKY4を操作した場合に実行される。
【0288】
なお、背景オブジェクトが表示されていないとき、背景オブジェクトがマスクする領域内にカーソルアイコンが表示されている状態でユーザが決定キーKY4を操作した場合には、この背景オブジェクトの色変更処理は実行されずに、後述する背景の色変更処理が実行される。
【0289】
先ず、ステップ3701では、ユーザが決定キーKY4を操作したときにカーソルアイコンが表示されていた背景オブジェクト上の色コードは1(輪郭線)か否か判定する。その色コードが1であれば一連の処理を終了し、そうでなければステップ3702の処理に移行する。
【0290】
ステップ3702〜3705では、図35のパレット管理用データに対する設定が行われる。
先ず、ステップ3702では、色変更カウンタに色変更時間をセットする。続くステップ3703では、ユーザが指定した描画色、即ちカーソルアイコンに割り当てられている色コード245の描画色(RGBデータ)をRGB各成分に分け、これら各成分をパレット管理用データの最終R成分データ、最終G成分データ、及び最終B成分データ(図35参照)としてそれぞれセットする。その後、ステップ3704の処理に移行する。
【0291】
ステップ3704では、ユーザが色指定したキャラクタの部分(領域)に現在設定されている描画色(RGBデータ)を、RGB各成分に分ける。現在設定されている描画色は、ワークRAM103からそれに対応する描画色(RGBデータ)を読み出すことで得たものであり、そのRGBデータはVDP105内のCLT部207に現在格納されているものと同じである。
【0292】
ステップ3704に続くステップ3705では、上記ステップ3703、3704で得たそれぞれのRGB各成分から、単位時間(1アニメーションフレーム期間)当たりのRGB各成分の変位量を算出し、これらをパレット管理用データのR成分変位量、G成分変位量、及びB成分変位量(図35参照)としてそれぞれセットする。これが終了した後、ステップ3706の処理に移行する。
【0293】
ステップ3706〜3712では、上記ステップ3702〜3705で設定された各種条件に従い、指定された背景オブジェクトの部分(領域)の描画色を徐々に変更させる視覚的効果を付加するための処理が行われる。このステップ3706〜3712は、色変更カウンタをデクリメントしながら、1アニメーションフレーム期間(1/60秒)毎に1度の頻度で繰り返し実行される。
【0294】
先ず、ステップ3606では、指定された背景オブジェクトの部分(領域)に現在設定されている描画色のRGB各成分に、ステップ3705で設定したRGB各成分変位量をそれぞれ対応させて加算する。
【0295】
ステップ3706に続くステップ3707では、ステップ3706で算出したRGB各成分とステップ3703で設定した最終RGB各成分とを成分別に比較し、ステップ3706で算出したRGB何れかの成分が、それに対応するステップ3703で設定した最終RGB各成分を超えたか否か判定する。ステップ3706で算出したRGB各成分のなかで、その最終値(最終RGB各成分)よりも大きい値のものが一つでも存在していた場合、その判定はYESとなってステップ3708の処理に移行する。そうでない場合には、その判定はNOとなってステップ3709の処理に移行する。ステップ3708では、最終値(最終RGB各成分)を超えた成分をその最終値(最終RGB各成分)にして、CLT部207に書き込むべきRGBデータを設定しなおす。
【0296】
ステップ3706で算出したRGBデータ、或いはステップ3708で設定しなおしたRGBデータは、それまでの描画色のRGBデータの換わりとしてワークRAM103に格納され、後述するように、VDP105内のCLT部207に転送される。
【0297】
ステップ3709では、アニメーション処理を実行する。このアニメーション処理は、図16のステップ1619として実行されるものと同じ処理である。このアニメーション処理を実行することにより、アニメーション再生が進行することになる。
【0298】
ステップ3709に続くステップ3710では、上記ステップ3706〜3709を実行することで発生したVDP105に転送すべきデータを、垂直ブランク期間(図13参照)を待って転送する。この処理を実行することにより、ユーザが指定した領域の色データのRGBデータとして新たに設定したRGBデータが、VDP105内のCLT部207の対応する記憶領域に書き込まれ、表示される描画色が変化することになる。
【0299】
ステップ3710に続くステップ3711では、色変更カウンタをデクリメントする。続くステップ3712では、デクリメント後の色変更カウンタは0か否か判定する。ユーザが色指定を行ってから色変更時間経過していない場合、その判定はNOとなってステップ3706の処理に戻る。そうでない場合には、即ちユーザが色指定を行ってから色変更時間経過した場合には、その判定はYESとなり、一連の処理を終了する。
【0300】
図38は、図16のステップ1617として実行される背景の色変更処理の動作フローチャートである。この図38を参照して、次に背景の色変更処理について詳細に説明する。この背景の色変更処理は、カーソルアイコンが背景オブジェクト上に表示されている状態でユーザが決定キーKY4を操作した場合に実行される。また、上述したように、背景オブジェクトが表示されていないとき、背景オブジェクトがマスクする領域内にカーソルアイコンが表示されている状態でユーザが決定キーKY4を操作した場合にも、この色変更処理は実行される。
【0301】
先ず、ステップ3801では、ユーザが決定キーKY4を操作したときにカーソルアイコンが表示されていた背景上の色コードは1(輪郭線)か否か判定する。その色コードが1であれば一連の処理を終了し、そうでなければステップ3802の処理に移行する。
【0302】
ステップ3802〜3805では、図35のパレット管理用データに対する設定が行われる。
先ず、ステップ3802では、色変更カウンタに色変更時間をセットする。続くステップ3803では、ユーザが指定した描画色、即ちカーソルアイコンに割り当てられている色コード245の描画色(RGBデータ)をRGB各成分に分け、これら各成分を最終R成分データ、最終G成分データ、及び最終B成分データにそれぞれセットする。その後、ステップ3804の処理に移行する。
【0303】
ステップ3804では、ユーザが色指定したキャラクタの部分(領域)に現在設定されている描画色(RGBデータ)を、RGB各成分に分ける。現在設定されている描画色は、ワークRAM103からそれに対応する描画色(RGBデータ)を読み出すことで得たものであり、そのRGBデータはVDP105内のCLT部207に現在格納されているものと同じである。
ステップ3804に続くステップ3805では、上記ステップ3803、3804で得たそれぞれのRGB各成分から、単位時間(1アニメーションフレーム期間)当たりのRGB各成分の変位量を算出し、これらをパレット管理用データのR成分変位量、G成分変位量、及びB成分変位量としてそれぞれセットする。これが終了した後、ステップ3806の処理に移行する。
【0304】
ステップ3806〜3812では、上記ステップ3802〜3805で設定された各種条件に従い、指定された背景の部分(領域)の描画色を徐々に変更していくための処理が行われる。このステップ3806〜3812は、色変更カウンタをデクリメントしながら、1アニメーションフレーム期間(1/60秒)毎に1度の頻度で繰り返し実行される。
【0305】
先ず、ステップ3806では、指定された背景の部分(領域)に現在設定されている描画色のRGB各成分に、ステップ3805で設定したRGB各成分変位量をそれぞれ対応させて加算する。
【0306】
ステップ3806に続くステップ3807では、ステップ3806で算出したRGB各成分とステップ3803で設定した最終RGB各成分とを成分別に比較し、ステップ3806で算出したRGB何れかの成分が、それに対応するステップ3803で設定した最終RGB各成分を超えたか否か判定する。ステップ3806で算出したRGB各成分のなかで、その最終値(最終RGB各成分)よりも大きい値のものが一つでも存在していた場合、その判定はYESとなってステップ3808の処理に移行する。そうでない場合には、その判定はNOとなってステップ3809の処理に移行する。ステップ3808では、最終値(最終RGB各成分)を超えた成分をその最終値(最終RGB各成分)にして、CLT部207に書き込むべきRGBデータを設定しなおす。
【0307】
ステップ3806で算出したRGBデータ、或いはステップ3808で設定しなおしたRGBデータは、それまでの描画色のRGBデータの換わりとしてワークRAM103に格納され、後述するように、VDP105内のCLT部207に転送される。
【0308】
ステップ3809では、アニメーション処理を実行する。このアニメーション処理は、図16のステップ1619として実行されるものと同じ処理である。このアニメーション処理を実行することにより、アニメーション再生が進行することになる。
【0309】
ステップ3809に続くステップ3810では、上記ステップ3806〜3809を実行することで発生したVDP105に転送すべきデータを、垂直ブランク期間(図13参照)を待って転送する。この処理を実行することにより、ユーザが指定した領域の色データのRGBデータとして新たに設定したRGBデータが、VDP105内のCLT部207の対応する記憶領域に書き込まれ、表示される描画色が変化することになる。
【0310】
ステップ3810に続くステップ3811では、色変更カウンタをデクリメントする。続くステップ3812では、デクリメント後の色変更カウンタは0か否か判定する。ユーザが色指定を行ってから色変更時間経過していない場合、その判定はNOとなってステップ3806の処理に戻る。そうでない場合には、即ちユーザが色指定を行ってから色変更時間経過した場合には、その判定はYESとなり、一連の処理を終了する。
・変形例
第2の実施の形態では、指定された領域の描画色を、指定された描画色に徐々に変化させているが、描画色を変更させる方法はこれに限定するものではない。例えば、指定された領域の描画色を指定されていない他の描画色に徐々に変化させた後、その描画色から指定された描画色に徐々に変化させるように、複数の段階を経て、指定された描画色を変化させるようにしても良い。
【0311】
更には、領域の描画色を指定された描画色に徐々に変化させるのではなく、その領域に対し、例えば予め定めた複数の描画色を、予め定めた順序に従って設定していくことにより、ユーザが指定した領域に対して所望の視覚的効果を施すようにしても良い。本実施の形態では、部分画像を種類別にグループ分けし、グループに属する各部分画像には、例えば髪に割り当てた色コードは2に統一しているように(図10参照)、それを構成している各部分(領域)に統一させた同一の色コードを割り当てていることから、様々な視覚的効果を施すことも容易である。
<第3の実施の形態>
・第3の実施の形態の概要
上述した第1の実施の形態は、例えばキャラクタを例にとると、それを構成する髪、肌、服等の部分(領域)は、髪は色コード2、肌は色コード3というように、色指定できる部分(領域)に割り当てた色コードは一つとなっている。このような色コードの割り当てを行った場合、表示される画像に立体感を持たせることはできない。第3の実施の形態は、第1の実施の形態が有するこのような不具合を回避し、表示画像に立体感を持たせるようにしたものである。
【0312】
第3の実施の形態の構成、及び各部の動作は、第1の実施の形態のそれとほぼ同じである。このため、第1の実施の形態から変更した部分についてのみ説明する。
【0313】
図39は、部分画像の各部分(領域)に割り当てた色コードを示す図である。同図(a)はキャラクタ、同図(b)は背景オブジェクトの各部分(領域)に割り当てられた色コードをそれぞれ示している。
【0314】
図39(a)に示すように、第3の実施の形態では、キャラクタの髪に明、中、暗の3段階のグラデーションをもうけ、各段階にはそれぞれ異なる色コードを割り当てることにより、立体感を持たせている。このため、図40(a)に示すように、VDP105内のCLT部207にはキャラクタ描画用RGBデータの記憶領域が割り当てられ、そこに設定されているRGBデータが格納される。
【0315】
他方の背景オブジェクトにおいても立体感を持たせるために、煙に対し、図39(b)に示すような明、中、暗の3段階のグラデーションをもうけ、各段階にそれぞれ異なる色コードを割り当てている。このため、図40(b)に示すように、VDP105内のCLT部207には背景オブジェクトと共用される背景描画用RGBデータの記憶領域が割り当てられ、そこに設定されているRGBデータが格納される。
【0316】
なお、他の部分についての色コードの割り当てについての説明は省略するが、他の部分においても、例えば背景を構成する池に3段階のグラデーションをもうけるように、複数の色コードが割り当てられている。
【0317】
例えば、キャラクタの髪のように、その髪を明、中、暗の3段階のグラデーションが与えられている部分(領域)に更に分けると、第1の実施の形態では、その更に分けた各部分(領域)毎に描画色を指定しなければならなくなる。しかし、これでは、ユーザが所望の描画色を各部分画像に指定するための作業が煩雑になるとともに、その作業に要する時間が非常に長くなるという不具合が発生することになる。これは、多くの種類の部分画像が表示されている画像においても同様である。
【0318】
第3の実施の形態では、上記不具合を回避するために、部分画像を構成する各部分(領域)を、例えばキャラクタの髪であれば色コード2〜4(図39(a)参照)が割り当てられている部分(領域)を1グループとするように、必要に応じてグループ分けし、グループ内の何れかが色指定された場合、そのグループに属する各部分(領域)の描画色をまとめて変更するようにしている。
【0319】
第1の実施の形態で説明したように、描画色は、パレット(パレットアイコン群)のなかから選択される。このため、第3の実施の形態では、図41に示すように、1選択色毎に3つのRGBデータが設定されているパレットデータをプログラム/データROM102に用意し、例えばパレット番号が#0の選択色0をキャラクタの髪の描画色とユーザが指定した場合、その選択色0の明のRGBデータを色コード2に設定し、同様に、中のRGBデータを色コード3、暗のRGBデータを色コード4にそれぞれ設定する。これにより、グラデーションが形成された1部分(領域)の色指定を、1度の色指定で行うことができ、立体感を持たせたような色指定可能な領域が多数存在する画像においても、色指定を簡単、且つ短時間で行うことができる。
【0320】
ところで、第1の実施の形態で説明したように、部分画像は、その種類別にグループに分け、それを構成する各部分(領域)に割り当てる色コードを同一の値に統一することにより、1部分画像に対して行われた色指定をそれが属するグループの他の部分画像に反映させている。この部分画像の種類で分けたグループと区別するために、以降、部分画像内で分けたグループをサブグループと呼ぶことにする。
【0321】
なお、パレットデータにおいては、プログラム/データROM102に予め用意するだけでなく、例えばユーザが任意に設定したり、或いは予め用意した描画色のなかから、1選択色に設定する描画色をユーザが選択できるようにしても良い。
・CPU101の詳細動作
図42〜図47に示す各動作フローチャートを参照して、CPU101の動作を詳細に説明する。第3の実施の形態では、図16に示す全体処理において、ステップ1601、1606、1608、1614、1616、1617の各サブルーチン処理の内容が第1の実施の形態とは異なっている。このため、これら各サブルーチン処理についてのみ説明する。
【0322】
図42は、図16に示すステップ1601として実行されるイニシャル処理の動作フローチャートである。この図42を参照して、最初にイニシャル処理について詳細に説明する。
【0323】
先ず、ステップ4201では、VDP105内のOAM部205等の初期化を行う。この初期化が終了すると、次にステップ4202において、アニメーションモードをポーズ中に設定し、続くステップ4203では、アニメーションフレーム番号を0に設定する。これらステップ4202、4203の処理を実行すると、ワークRAM103に格納されているアニメーション管理用データ、即ちアニメーションモード、アニメーションフレーム番号には、ポーズ中であることを示す値、0がそれぞれデータとして設定される。
【0324】
ステップ4203に続くステップ4204では、キャラクタを図4(b)の初期位置データが示す表示位置に配置するアニメーションイニシャル処理を実行する。このアニメーションイニシャル処理は、図18に示す第1の実施の形態のものと同じ処理である(このため、詳細な説明は省略する)。この処理が終了した後、ステップ4205の処理に移行する。
【0325】
ステップ4205では、背景オブジェクトを図5(a)のアニメーションデータに従って配置するアニメーションイニシャル処理を実行する。このアニメーションイニシャル処理は、図19に示す第1の実施の形態のものと同じ処理である(このため、詳細な説明は省略する)。この処理に続くステップ4206では、吹出しをキャラクタの表示位置に応じて配置するアニメーションイニシャル処理を実行する。このアニメーションイニシャル処理も上記と同様に、図20に示す第1の実施の形態のものと同じ処理である(このため、詳細な説明は省略する)。この処理を終了した後は、ステップ4207の処理に移行する。
【0326】
ステップ4207〜4211では、輪郭線、キャラクタ、背景、吹出し、及び吹出し文字にそれぞれ割り当てられた各色コードに、それに対応する描画色(RGBデータ)を設定する。具体的には、輪郭線、及び吹出し文字に対しては黒を設定し、その他には全て白を設定する。この設定により、初期画面は、白一色を背景として、その背景に各部分画像が有する輪郭線、及び吹出し文字が黒く描かれたものとなる。
【0327】
ステップ4211に続くステップ4212〜4215では、パレット、及びカーソルアイコンの表示に関わる処理が行われる。これらの処理を行うことにより、パレット(パレットアイコン群)、カーソルアイコンは、予め設定されている描画色で初期表示される。
【0328】
先ず、ステップ4212では、パレット管理用データであるパレット番号(図9参照)に0をセットする。続くステップ4213では、パレット番号が0の各パレットアイコンに割り当てられている選択色(1選択色には3つのRGBデータがそれぞれ設定されている)をプログラム/データROM102から読み出し(図41参照)、それらの選択色のなかで中として設定されているRGBデータを抜き出して、これら抜き出したRGBデータをCLT部207の色コード246〜255に格納すべきRGBデータとしてセットする。その後、ステップ4214の処理に移行する。
【0329】
ステップ4214では、選択色番号を0にセットする。この選択色番号は、カーソルアイコンに割り当てられている色コード245に設定すべきRGBデータを示すデータであり、特に図示しないが、ワークRAM103にパレット管理用データの一つとして格納される。続くステップ4215では、選択色番号にセットされた0の値に従い、ステップ4213で設定された色コード246(選択色0)のRGBデータを、カーソルアイコンに割り当てた色コード245のRGBデータにセットする。
【0330】
ステップ4215に続くステップ4216では、SRAM106に転送すべき画像(グラフィック)データ、VDP105内のOAM部205、CLT部207に書き込むべきデータを、垂直ブランク期間(図13参照)を待って転送する処理を行う。SRAM106に転送すべき画像(グラフィック)データ、VDP105内のOAM部205、CLT部207に書き込むべきデータは、上述したステップ4204〜4215の処理を実行した結果として生じたものである。このステップ4216の処理が終了することで、一連の処理が終了する。
【0331】
図43は、図16のステップ1606として実行される描画色変更処理の動作フローチャートである。この図43を参照して、次に描画色変更処理について詳細に説明する。この描画色変更処理は、カーソルアイコンの描画色(図12(c)に示すように、その色コードは245である)を、ユーザがパレット(パレットアイコン群)のなかから指定した描画色に変更する処理である。カーソルアイコンがパレット(パレットアイコン群)上に表示されている状態でユーザが決定キーKY4を操作した場合に実行される。
【0332】
先ず、ステップ4301では、ユーザが決定キーKY4を操作したときにカーソルアイコンが表示されていたパレットアイコン上の色コードを判定する。図12(b)に示すように、パレット(パレットアイコン群)には246〜255の色コードが割り当てられている。このことから、カーソルアイコンが表示されていたパレットアイコンの色コードが246〜255のなかの何れかであればステップ4302の処理に移行し、そうでなければ一連の処理を終了する。
【0333】
ステップ4302では、ワークRAM103に格納されているパレット番号(図9参照)、ステップ4301で判定した色コードを基に、ワークRAM103に格納されている各色コード毎のRGBデータから該当するRGBデータを読み取り、このRGBデータを、VDP105内のCLT部207の色コード245のRGBデータとしてセットする。このRGBデータのセットは、ワークRAM103に格納されている各色コード毎のRGBデータに対して行う。
【0334】
ステップ4302に続くステップ4303では、ステップ4301で判定した色コードから、その色コードに対応する選択色の番号を選択色番号にセットする。その後、一連の処理を終了する。
【0335】
図44は、図16のステップ1608として実行されるパレット変更処理の動作フローチャートである。次に、この図44を参照して、第3の実施の形態によるパレット変更処理について詳細に説明する。
【0336】
このパレット変更処理は、上述したように、カーソルアイコンがパレット変更アイコン上に表示されている状態でユーザが決定キーKY4を操作した場合に実行される。
【0337】
先ず、ステップ4401では、ワークRAM103に格納させているパレット番号を更新する。この更新は、例えばそれまでの値をインクリメントし、このインクリメントによりその値がパレット番号の最大値よりも大きくなった場合には0をその値とすることで行われる。
【0338】
ステップ4401に続くステップ4402では、ステップ4401で更新したパレット番号が示すパレットデータ中の各選択色のRGBデータから、中として設定されているRGBデータを抜き出し、この抜き出したRGBデータを、VDP105内のCLT部207の色コード246〜255のRGBデータとしてセットする。このRGBデータのセットは、ワークRAM103に格納されている色コード毎のRGBデータに対して行われる。このRGBデータのセットが終了した後、一連の処理を終了する。
【0339】
図45は、図16のステップ1614として実行されるキャラクタの色変更処理の動作フローチャートである。この図45を参照して、次に、第3の実施の形態によるキャラクタの色変更処理について詳細に説明する。このキャラクタの色変更処理は、カーソルアイコンがキャラクタ上に表示されている状態でユーザが決定キーKY4を操作した場合に実行される。
【0340】
先ず、ステップ4501では、ユーザが決定キーKY4を操作したときにカーソルアイコンが表示されていたキャラクタ上の色コードは1(輪郭線)か否か判定する。その色コードが1であれば一連の処理を終了し、そうでなければステップ4502の処理に移行する。
【0341】
ステップ4502では、ワークRAM103に格納されているパレット番号(図9参照)、及び選択色番号から特定されるパレットデータ中の選択色の明、中、暗の3つのRGBデータを、例えばプログラム/データROM102から読み出し、この読み出した3つのRGBデータを、色指定された部分(領域)が属するサブグループを構成している各部分(領域)に割り当てられた色コードのRGBデータにそれぞれセットする。このRGBデータのセットは、ワークRAM103に格納されている色コード毎のRGBデータに対して行われる。このRGBデータのセットが終了後、一連の処理を終了する。
【0342】
図46は、図16のステップ1614として実行されるキャラクタの色変更処理の動作フローチャートである。この図45を参照して、次に、第3の実施の形態によるキャラクタの色変更処理について詳細に説明する。このキャラクタの色変更処理は、カーソルアイコンがキャラクタ上に表示されている状態でユーザが決定キーKY4を操作した場合に実行される。
【0343】
先ず、ステップ4501では、ユーザが決定キーKY4を操作したときにカーソルアイコンが表示されていたキャラクタ上の色コードは1(輪郭線)か否か判定する。その色コードが1であれば一連の処理を終了し、そうでなければステップ4502の処理に移行する。
【0344】
ステップ4502では、ワークRAM103に格納されているパレット番号(図9参照)、及び選択色番号から特定されるパレットデータ中の選択色の明、中、暗の3つのRGBデータを、例えばプログラム/データROM102から読み出し、この読み出した3つのRGBデータを、色指定された部分(領域)が属するサブグループを構成している各部分(領域)に割り当てられた色コードのRGBデータにそれぞれセットする。このRGBデータのセットは、ワークRAM103に格納されている色コード毎のRGBデータに対して行われる。このRGBデータのセットが終了後、一連の処理を終了する。
【0345】
図46は、図16のステップ1616として実行される背景オブジェクトの色変更処理の動作フローチャートである。次に、この図46を参照して、第3の実施の形態による背景オブジェクトの色変更処理について詳細に説明する。
【0346】
この背景オブジェクトの色変更処理は、上述したように、カーソルアイコンが背景オブジェクト上に表示されている状態でユーザが決定キーKY4を操作した場合に実行される。
【0347】
先ず、ステップ4601では、ユーザが決定キーKY4を操作したときにカーソルアイコンが表示されていた背景オブジェクト上の色コードは1(輪郭線)か否か判定する。その色コードが1であれば一連の処理を終了し、そうでなければステップ4602の処理に移行する。
【0348】
例えば図39(b)に示すように、背景オブジェクトの煙は複数の部分(領域)から構成される。ステップ4602では、ワークRAM103に格納されているパレット番号(図9参照)、及び選択色番号から特定されるパレットデータ中の選択色の明、中、暗の3つのRGBデータを、例えばプログラム/データROM102から読み出し、この読み出した3つのRGBデータを、色指定された部分(領域)が属するサブグループを構成している各部分(領域)に割り当てられた色コードのRGBデータにそれぞれセットする。このRGBデータのセットは、ワークRAM103に格納されている色コード毎のRGBデータに対して行われる。このRGBデータのセットが終了後、一連の処理を終了する。
【0349】
図47は、図16のステップ1617として実行される背景の色変更処理の動作フローチャートである。次に、この図47を参照して、第3の実施の形態による背景の色変更処理について詳細に説明する。
【0350】
この背景の色変更処理は、カーソルアイコンが背景上に表示されている状態でユーザが決定キーKY4を操作した場合に実行される。これは、背景オブジェクトが表示されていない状態において、ユーザが決定キーKY4を操作した際のカーソルアイコンの表示位置が背景オブジェクトによりマスクされる領域内であった場合も含まれる。
【0351】
先ず、ステップ4701では、ユーザが決定キーKY4を操作したときにカーソルアイコンが表示されていた背景上の色コードは1(輪郭線)か否か判定する。その色コードが1であれば一連の処理を終了し、そうでなければステップ4702の処理に移行する。
【0352】
ステップ4702では、ワークRAM103に格納されているパレット番号(図9参照)、及び選択色番号から特定されるパレットデータ中の選択色の明、中、暗の3つのRGBデータを、例えばプログラム/データROM102から読み出し、この読み出した3つのRGBデータを、色指定された部分(領域)が属するサブグループを構成している各部分(領域)に割り当てられた色コードのRGBデータにそれぞれセットする。このRGBデータのセットは、ワークRAM103に格納されている色コード毎のRGBデータに対して行われる。このRGBデータのセットが終了後、一連の処理を終了する。
・変形例
第3の実施の形態では、例えばキャラクタの髪のように(図39(a)参照)、第1の実施の形態で1つの色コードが割り当てられていた部分(領域)を分割する場合、その分割数は3に統一させているが、その分割数、即ちサブグループを構成するメンバー数はそれに限定するものではない。分割数は、任意の値でよく、また、各部分(領域)毎に分割数を変えても良い。各部分(サブグループ)毎に分割数を変えた場合であっても、例えば1選択色に最大分割数よりも多いRGBデータを設定し、そのなかで各部分(サブグループ)に割り当てるRGBデータを決めておくことでそれに対応することができる。
【0353】
また、第3の実施の形態では、パレットとして表示させるRGBデータを、選択色に中として設定されているRGBデータ(図41参照)としているが、その表示させるRGBデータは、明、或いは暗として設定されているRGBデータとしても良い。また、パレットとして表示させるRGBデータを選択色とは別に用意しても良い。
<第4の実施の形態>
・第4の実施の形態の概要
上述した第3の実施の形態は、例えば図39(a)に示すキャラクタの髪を構成する各部分(領域)に対し、1度の色指定を行うだけでそれぞれの部分(領域)に描画色(RGBデータ)を設定できるようにしたものである。しかし、それを実現するために、1選択色毎に明、中、暗からなる3つのRGBデータを割り当てたパレットデータをプログラム/データROM102に格納(図41参照)しているため、パレットデータの格納に大きな記憶領域が必要になるという不具合が発生している。第4の実施の形態は、第3の実施の形態が有する上記不具合を軽減したものである。
【0354】
第4の実施の形態の構成、及び各部の動作は、第3の実施の形態のそれとほぼ同じである。このため、第3の実施の形態から変更した部分についてのみ説明する。
【0355】
図48は、プログラム/データROM102に格納されているパレットデータの構成図である。
図48に示すように、第4の実施の形態では、1選択色には明、暗の2つのRGBデータだけを設定している。第3の実施の形態で中として設定されていたRGBデータは、明、暗の2つのRGBデータから補間して求めることにより、サブグループを構成する各部分(領域)の描画色の変更を1度の色指定で行えるようにしている。このため、第3の実施の形態で実現されている機能を実現しつつ、プログラム/データROM102に格納させるパレットデータのデータ量を低減することができ、上記不具合を軽減することができる。
・CPU101の詳細動作
図49〜図53に示す各動作フローチャートを参照して、CPU101の動作を詳細に説明する。第3の実施の形態では、図16に示す全体処理において、ステップ1601、1608、1614、1616、1617の各サブルーチン処理の内容が第1の実施の形態とは異なっている。第4の実施の形態においても、上記各ステップ番号の処理が第1の実施の形態から異なっている。このため、これら各サブルーチン処理についてのみ説明する。
【0356】
図49は、図16に示すステップ1601として実行されるイニシャル処理の動作フローチャートである。この図49を参照して、最初にイニシャル処理について詳細に説明する。
【0357】
先ず、ステップ4901では、VDP105内のOAM部205等の初期化を行う。この初期化が終了すると、次にステップ4902において、アニメーションモードをポーズ中に設定し、続くステップ4903では、アニメーションフレーム番号を0に設定する。これらステップ4902、4903の処理を実行すると、ワークRAM103に格納されているアニメーション管理用データ、即ちアニメーションモード、アニメーションフレーム番号には、ポーズ中であることを示す値、0がそれぞれデータとして設定される。
【0358】
ステップ4903に続くステップ4904では、キャラクタを図4(b)の初期位置データが示す表示位置に配置するアニメーションイニシャル処理を実行する。このアニメーションイニシャル処理は、図18に示す第1の実施の形態のものと同じ処理である(このため、詳細な説明は省略する)。この処理が終了した後、ステップ4905の処理に移行する。
【0359】
ステップ4905では、背景オブジェクトを図5(a)のアニメーションデータに従って配置するアニメーションイニシャル処理を実行する。このアニメーションイニシャル処理は、図19に示す第1の実施の形態のものと同じ処理である(このため、詳細な説明は省略する)。この処理に続くステップ4906では、吹出しをキャラクタの表示位置に応じて配置するアニメーションイニシャル処理を実行する。このアニメーションイニシャル処理も上記と同様に、図20に示す第1の実施の形態のものと同じ処理である(このため、詳細な説明は省略する)。この処理を終了した後は、ステップ4907の処理に移行する。
【0360】
ステップ4907〜4911では、輪郭線、キャラクタ、背景、吹出し、及び吹出し文字にそれぞれ割り当てられた各色コードに、それに対応する描画色(RGBデータ)を設定する。具体的には、輪郭線、及び吹出し文字に対しては黒を設定し、その他には全て白を設定する。この設定により、初期画面は、白一色を背景として、その背景に各部分画像が有する輪郭線、及び吹出し文字が黒く描かれたものとなる。
【0361】
ステップ4911に続くステップ4912〜4916では、パレット、及びカーソルアイコンの表示に関わる処理が行われる。これらの処理を行うことにより、パレット(パレットアイコン群)、カーソルアイコンは、予め設定されている描画色で初期表示される。
【0362】
先ず、ステップ4912では、パレット管理用データであるパレット番号(図9参照)に0をセットする。続くステップ4913では、パレット番号が0の各選択色のRGBデータをプログラム/データROM102から読み出し(図48参照)、それらの選択色として設定されている明と暗のRGBデータを用いた補間演算を行うことで中のRGBデータを作成する。続くステップ4914では、これら作成した各選択色の中のRGBデータをCLT部207の色コード246〜255に格納すべきRGBデータとしてセットする。その後、ステップ4915の処理に移行する。
【0363】
ステップ4915では、選択色番号を0にセットする。この選択色番号は、カーソルアイコンに割り当てられている色コード245に設定すべきRGBデータを示すデータであり、ワークRAM103に格納される。続くステップ4916では、選択色番号にセットされた0の値に従い、ステップ4914で色コード246に設定したRGBデータを、カーソルアイコンに割り当てた色コード945のRGBデータにセットする。
【0364】
ステップ4916に続くステップ4917では、SRAM106に転送すべき画像(グラフィック)データ、VDP105内のOAM部205、CLT部207に書き込むべきデータを、垂直ブランク期間(図13参照)を待って転送する処理を行う。SRAM106に転送すべき画像(グラフィック)データ、VDP105内のOAM部205、CLT部207に書き込むべきデータは、上述したステップ4904〜4916の処理を実行した結果として生じたものである。このステップ4917の処理の終了を待って、一連の処理が終了する。
【0365】
図50は、図16のステップ1608として実行されるパレット変更処理の動作フローチャートである。次に、この図50を参照して、第4の実施の形態によるパレット変更処理について詳細に説明する。
【0366】
このパレット変更処理は、上述したように、カーソルアイコンがパレット変更アイコン上に表示されている状態でユーザが決定キーKY4を操作した場合に実行される。
【0367】
先ず、ステップ5001では、ワークRAM103に格納させているパレット番号を更新する。この更新は、例えばそれまでの値をインクリメントし、このインクリメントによりその値がパレット番号の最大値よりも大きくなった場合には0をその値とすることで行われる。
【0368】
ステップ5001に続くステップ5002では、ステップ5001で更新したパレット番号が示すパレットデータ中の各選択色毎に、その明と暗のRGBデータを用いた補間演算を行い、中のRGBデータをそれぞれ作成する。次のステップ5003では、ステップ5002で各選択色毎に作成した中のRGBデータを、VDP105内のCLT部207の色コード246〜255のRGBデータとしてセットする。このRGBデータのセットは、ワークRAM103に格納されている色コード毎のRGBデータに対して行われる。このRGBデータのセットが終了した後、一連の処理を終了する。
【0369】
図51は、図16のステップ1614として実行されるキャラクタの色変更処理の動作フローチャートである。この図51を参照して、次に、第4の実施の形態によるキャラクタの色変更処理について詳細に説明する。このキャラクタの色変更処理は、カーソルアイコンがキャラクタ上に表示されている状態でユーザが決定キーKY4を操作した場合に実行される。
【0370】
先ず、ステップ5101では、ユーザが決定キーKY4を操作したときにカーソルアイコンが表示されていたキャラクタ上の色コードは1(輪郭線)か否か判定する。その色コードが1であれば一連の処理を終了し、そうでなければステップ5102の処理に移行する。
【0371】
ステップ5102では、例えばワークRAM103に格納されているパレット管理用データであるパレット番号、及び選択色番号から特定されるパレットデータ中の選択色の明、暗の2つのRGBデータを、例えばプログラム/データROM102から読み出し、この読み出した2つのRGBデータを用いた補間演算を行うことにより、中のRGBデータを作成する。
【0372】
ステップ5102に続くステップ5103では、色指定された部分(領域)が属するサブグループを構成している各部分(領域)に割り当てられた色コードのRGBデータに、上記ステップ5102で得られた明、中、暗のRGBデータをそれぞれセットする。このRGBデータのセットは、ワークRAM103に格納されている色コード毎のRGBデータに対して行われる。このRGBデータのセットが終了後、一連の処理を終了する。
【0373】
図52は、図16のステップ1616として実行される背景オブジェクトの色変更処理の動作フローチャートである。この図52を参照して、次に、第4の実施の形態による背景オブジェクトの色変更処理について詳細に説明する。
【0374】
この背景オブジェクトの色変更処理は、上述したように、カーソルアイコンが背景オブジェクト上に表示されている状態でユーザが決定キーKY4を操作した場合に実行される。
【0375】
先ず、ステップ5201では、ユーザが決定キーKY4を操作したときにカーソルアイコンが表示されていた背景オブジェクト上の色コードは1(輪郭線)か否か判定する。その色コードが1であれば一連の処理を終了し、そうでなければステップ5202の処理に移行する。
【0376】
ステップ5202では、例えばワークRAM103に格納されているパレット管理用データであるパレット番号、及び選択色番号から特定されるパレットデータ中の選択色の明、暗の2つのRGBデータを、例えばプログラム/データROM102から読み出し、この読み出した2つのRGBデータを用いた補間演算を行うことにより、中のRGBデータを作成する。
【0377】
ステップ5202に続くステップ5203では、色指定された部分(領域)が属するサブグループを構成している各部分(領域)に割り当てられた色コードのRGBデータに、上記ステップ5202で得られた明、中、暗のRGBデータをそれぞれセットする。このRGBデータのセットは、ワークRAM103に格納されている色コード毎のRGBデータに対して行われる。このRGBデータのセットが終了後、一連の処理を終了する。
【0378】
図53は、図16のステップ1617として実行される背景の色変更処理の動作フローチャートである。この図53を参照して、次に、第4の実施の形態による背景の色変更処理について詳細に説明する。
【0379】
この背景の色変更処理は、カーソルアイコンが背景上に表示されている状態でユーザが決定キーKY4を操作した場合に実行される。これは、背景オブジェクトが表示されていない状態において、ユーザが決定キーKY4を操作した際のカーソルアイコンの表示位置が背景オブジェクトによりマスクされる領域内であった場合も含まれる。
【0380】
先ず、ステップ5301では、ユーザが決定キーKY4を操作したときにカーソルアイコンが表示されていた背景上の色コードは1(輪郭線)か否か判定する。その色コードが1であれば一連の処理を終了し、そうでなければステップ5302の処理に移行する。
【0381】
ステップ5302では、例えばワークRAM103に格納されているパレット管理用データであるパレット番号、及び選択色番号から特定されるパレットデータ中の選択色の明、暗の2つのRGBデータを、例えばプログラム/データROM102から読み出し、この読み出した2つのRGBデータを用いた補間演算を行うことにより、中のRGBデータを作成する。
【0382】
ステップ5302に続くステップ5303では、色指定された部分(領域)が属するサブグループを構成している各部分(領域)に割り当てられた色コードのRGBデータに、上記ステップ5302で得られた明、中、暗のRGBデータをそれぞれセットする。このRGBデータのセットは、ワークRAM103に格納されている色コード毎のRGBデータに対して行われる。このRGBデータのセットが終了後、一連の処理を終了する。
・変形例
第4の実施の形態では、選択色の明と暗のRGBデータから、中のRGBデータのみを補間作成しているが、この明と暗のRGBデータから、更に多くのRGBデータを補間作成するようにしても良い。これにより、サブグループを構成するメンバー数(領域数)がグループ毎に異なっていても、それに柔軟に対応することができるようになる。
【0383】
【発明の効果】
以上説明したように本発明は、部分画像をグループ分けして、そのグループを構成する各部分画像の描画色を一元的に管理する。このため、何れかの部分画像の描画色を変更するだけで、それが属するグループの他の部分画像全ての描画色を、その変更に合わせて変更させることができる。これにより、例えばアニメーションのような画像再生を行う場合であっても、少ない操作、且つ短時間で、全体的な描画色の変更を行うことができる。
【0384】
また、本発明は、描画色が関連する複数の部分画像、或いはその一部分についてはその描画色を一元的に管理するため、少ない操作、且つ短時間で、全体的な描画色の変更を行うことができる。
【0385】
また、本発明は、部分画像内において、描画色が関連する複数の部分を1つのグループにまとめ、グループを構成する何れかの描画色が変更されると、そのグループを構成する部分全ての描画色を、その変更された描画色に応じて変更する。このため、少ない操作、且つ短時間で、全体的な描画色の変更を行うことができる。
【0386】
上記したこれらの発明を組み合わせることにより、さらに大きな効果を得ることができ、より少ない操作、且つ短時間で、全体的な描画色の変更を行うことができる。
【図面の簡単な説明】
【図1】第1の実施の形態が適用されたシステムの全体回路構成図である。
【図2】VDPの構成図である。
【図3】表示画面の階層構造を説明する図である。
【図4】ROMのデータ構成図である(その1)。
【図5】ROMのデータ構成図である(その2)。
【図6】ROMのデータ構成図である(その3)。
【図7】SRAMとOAM部のデータ構成図である。
【図8】CLT部のデータ構成図である。
【図9】ワークRAMのデータ構成図である。
【図10】部分画像の各部分に割り当てた色コードを示す図である(その1)。
【図11】部分画像の各部分に割り当てた色コードを示す図である(その2)。
【図12】部分画像の各部分に割り当てた色コードを示す図である(その3)。
【図13】画面表示タイミングの説明図である。
【図14】アニメーションとしての動作例を示すタイミングチャートである。
【図15】アニメーション用のデータ例を示す図である。
【図16】全体処理の動作フローチャートである。
【図17】イニシャル処理の動作フローチャートである。
【図18】キャラクタのアニメーションイニシャル処理の動作フローチャートである。
【図19】背景オブジェクトのアニメーションイニシャル処理の動作フローチャートである。
【図20】吹出しのアニメーションイニシャル処理の動作フローチャートである。
【図21】アニメーションモード変更処理の動作フローチャートである。
【図22】キャラクタの正方向コマ送り処理の動作フローチャートである。
【図23】背景オブジェクトの正方向コマ送り処理の動作フローチャートである。
【図24】キャラクタの逆方向コマ送り処理の動作フローチャートである。
【図25】背景オブジェクトの逆方向コマ送り処理の動作フローチャートである。
【図26】描画色変更処理の動作フローチャートである。
【図27】パレット変更処理の動作フローチャートである。
【図28】吹出し文字の色変更処理の動作フローチャートである。
【図29】吹出し枠の色変更処理の動作フローチャートである。
【図30】キャラクタの色変更処理の動作フローチャートである。
【図31】背景オブジェクトの色変更処理の動作フローチャートである。
【図32】背景の色変更処理の動作フローチャートである。
【図33】アニメーション処理の動作フローチャートである(その1)。
【図34】アニメーション処理の動作フローチャートである(その2)。
【図35】パレット管理用データの構成図である(第2の実施の形態)。
【図36】キャラクタの色変更処理の動作フローチャートである(第2の実施の形態)。
【図37】背景オブジェクトの色変更処理の動作フローチャートである(第2の実施の形態)。
【図38】背景の色変更処理の動作フローチャートである(第2の実施の形態)。
【図39】各部分画像に割り当てた色コードを示す図である(第3の実施の形態)。
【図40】CLT部に割り当てられた色コードを示す図である(第3の実施の形態)。
【図41】ROMに格納されているパレットデータの構成図である(第3の実施の形態)。
【図42】イニシャル処理の動作フローチャートである(第3の実施の形態)。
【図43】描画色変更処理の動作フローチャートである(第3の実施の形態)。
【図44】パレット変更処理の動作フローチャートである(第3の実施の形態)。
【図45】キャラクタの色変更処理の動作フローチャートである(第3の実施の形態)。
【図46】背景オブジェクトの色変更処理の動作フローチャートである(第3の実施の形態)。
【図47】背景の色変更処理の動作フローチャートである(第3の実施の形態)。
【図48】ROMに格納されているパレットデータの構成図である(第4の実施の形態)。
【図49】イニシャル処理の動作フローチャートである(第4の実施の形態)。
【図50】パレット変更処理の動作フローチャートである(第4の実施の形態)。
【図51】キャラクタの色変更処理の動作フローチャートである(第4の実施の形態)。
【図52】背景オブジェクトの色変更処理の動作フローチャートである(第4の実施の形態)。
【図53】背景の色変更処理の動作フローチャートである(第4の実施の形態)。
【符号の説明】
101 CPU
102 プログラム/データROM
104 入力装置
105 VDP
106 SRAM
108 テレビ
207 カラールックアップテーブル部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a technique for creating an image using a plurality of partial images prepared in advance, and particularly to a technique for changing the drawing color of the partial image.
[0002]
[Prior art]
One of the methods for creating an image is a sprite method. This sprite method is a method of creating an image by combining (combining) partial images such as sprites (objects) and backgrounds. This sprite method has an advantage that an image can be created at a higher speed than other methods. For this reason, it is widely used in devices that require high-speed image creation, such as video game machines.
[0003]
In the creation (drawing) of images by the sprite method, priority is usually set for each partial image, and the partial images are stacked in order from the lowest priority to the higher priority according to the priority set for each partial image ( To be synthesized). In an image created by this combining method, a partial image with a higher priority is shaped to hide a partial image with a lower priority, and the partial image is alternatively displayed on the image. In addition, there is a synthesis method for expressing a partial image hidden in a partial image having a higher priority by mixing the overlapping portions of the partial images at a ratio corresponding to the priority, for example.
[0004]
In a conventional image creating apparatus employing such a sprite method, a desired image can be created by selecting a partial image to be drawn, its position, and the drawing color of the partial image. In addition, for example, animation reproduction can be performed by preparing a plurality of partial images having different shapes little by little and displaying the plurality of partial images by performing time management.
[0005]
[Problems to be solved by the invention]
Even with the above-described conventional image creating apparatus, the user can create an arbitrary image and further an image for animation (moving image) reproduction. It is very common to change a part of the created image, for example, the drawing color. However, since the change must be made for each created image (partial image), many images form one group and used for those images, such as an image for animation (movie) playback. When there are a large number of partial images to be displayed, the drawing color must be changed for each partial image for which the drawing color is desired to be changed. However, the operation is very troublesome and it takes a long time to complete the operation.
[0006]
Normally, the drawing color of a partial image is selected by designating a desired drawing color and a partial image (or part thereof) to be changed to the drawing color in a state where a partial image to be changed is displayed. Is done. Therefore, for each partial image whose drawing color is to be changed, operations such as display of the partial image, designation of the drawing color, and a location where the drawing color is changed must be performed.
[0007]
In addition, the conventional image creating apparatus has been configured to set different modes for displaying the created image (including display as an animation (moving image)) and creating the image. For this reason, when the drawing color is changed for an image for animation reproduction (partial image), the mode must be switched every time the image is changed, which makes the above problem more serious. I was letting.
[0008]
Problems such as cumbersome operations (poor operability) and time-consuming work give a bad impression to the user and are a major factor in reducing product sales. A solution was strongly desired.
[0009]
An object of the present invention is to make it possible to easily and quickly create an image desired by a user.
[0010]
[Means for Solving the Problems]
  The drawing color changing method of the present invention includes:Partial image storage means for storing a plurality of partial images divided into a plurality of regionsAnd a color code storage means for storing a plurality of color codes, and a drawing color data storage means for storing different types of drawing color data than the number of areas for each color codeWhenTheAn image creation device comprising:Image creation to create an image for one display screen by arranging multiple partial images on the display screenapparatusA predetermined color code is designated from the color code storage means, a plurality of drawing color data corresponding to the designated color code is read from the drawing color data storage means, Based on the drawing color data, a number of other drawing color data that are insufficient to draw all of the plurality of areas are interpolated, and the plurality of drawing color data read out and a plurality based on the drawn drawing color data are interpolated. Draw the area.
[0020]
  In the image creation device of the present invention, an image creation device that creates an image for one display screen by arranging a plurality of partial images on the display screen,pluralPartial imageRespectivelyColor code storage means for storing a plurality of color codes divided into a plurality of areas, drawing color data storage means for storing drawing color data of a type smaller than the number of the plurality of areas for each color code, and color code storage A color code specifying means for specifying a predetermined color code from the means, a drawing color data reading means for reading a plurality of drawing color data corresponding to the color code specified by the color code specifying means from the drawing color data storage means, and a drawing color Based on a plurality of drawing color data read by the data reading means, an interpolation means for interpolating and creating other numbers of drawing color data insufficient to draw all of the plurality of areas, and reading by the drawing color data reading means And a drawing means for drawing the plurality of regions based on the plurality of drawn color data and the drawing color data created by interpolation by the interpolation means. To.
[0027]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
<First Embodiment>
・ Overall configuration of circuit and its operation
FIG. 1 is an overall circuit configuration diagram of a system to which the first embodiment is applied. The system shown in FIG. 1 includes a television 108 and an image creating apparatus that is used by being connected to the television 108.
[0028]
As shown in FIG. 1, this system includes a CPU 101 that controls the entire system, a program / data ROM 102 that stores control programs, various data, and the like, a work RAM 103 that the CPU 101 mainly uses for work, and a CPU 101. Input device 104, VDP (video display processor) 105 that performs image processing using image data stored in program / data ROM 102, sprite (object), and images of each partial image in the background ( An SRAM (static RAM) 106 storing graphic data, an encoder 107 for converting an RGB analog video signal output from the VDP 105 into an NTSC signal, and the television 108 are configured.
[0029]
As the input device 104, for example, a control pad as shown in FIG. 1 is employed. Various keys operated by the user are provided on the control pad 104. Specifically, a cursor movement key KY1 for moving the cursor displayed on the screen of the television 108, a start / stop key KY2 for instructing start / stop of animation reproduction, and an image to be reproduced by animation are the first images. A reset key KY3 for returning to the original position, a determination key KY4 for confirming the contents selected in the creation of the image, a forward frame advance key KY5 that advances the image to be displayed as an animation by one frame in the order direction (forward direction), And a reverse frame feed key KY6 for returning one frame in the reverse direction.
[0030]
An outline of the operation in the above configuration will be described.
The CPU 101 executes a control program read from the program / data ROM 102 to detect a key operation performed on the control pad 104 and control the VDP 105 while using the work RAM 103.
[0031]
The program / data ROM 102 stores image (graphic) data of sprites (objects) constituting the image and background partial images. The sprite (object) is a part for mainly expressing something that moves (including a change in shape), and the other background is a part for expressing the background. The CPU 101 transfers the image (graphic) data stored in the ROM 102 to the VDP 105, and causes the VDP 105 to store the image (graphic) data in the SRAM 106. The CPU 101 determines image (graphic) data to be transferred to the VDP 105 based on predetermined settings, details of operations performed on the control pad 104 by the user, and the like.
[0032]
The VDP 105 to which the image (graphic) data has been transferred from the CPU 101 stores the transferred image (graphic) data in the SRAM 106 in a predetermined format. After the image (graphic) data transferred from the CPU 101 is stored in the SRAM 106, an RGB analog video signal of an image to be displayed is generated for each scanning line using the image (graphic) data stored in the SRAM 106.
[0033]
The RGB analog video signal generated by the VDP 105 is output to the encoder 107. The encoder 107 converts the video signal into an NTSC video signal, which is a television standard, and outputs it to the television 108 in order to display an image represented by the video signal on the screen of the television 108. The television 108 renders an image on the screen by raster scanning the screen.
・ Configuration and operation of VDP105
FIG. 2 is a configuration diagram of the VDP 105.
[0034]
As described above, the VDP 105 controls screen display on the television 108 by generating RGB data of an image to be displayed. The configuration includes the following.
[0035]
First, the CPU interface unit 201 controls an interface at the time of data transfer with the CPU 101.
The SRAM interface unit 202 is an interface when the object generator unit 203 and the background generator unit 205 described later access sprite (object) or background (background) image (graphic) data stored in the SRAM 106. Control. Also, the sprite (object) and background image (graphic) data transferred from the CPU 101 are received via the CPU interface unit 201 and the data bus 214, and the CPU 101 designates them via the CPU interface unit 201 and the address bus 213. It is stored in the SRAM 106 according to the address.
[0036]
The object generator unit 203 and the background generator unit 204 are connected to the sprite (object) arranged at the display coordinates of each dot in the next horizontal display period from the SRAM 106 or the background for each horizontal period (see FIG. 13). The ground image (graphic) data is read and stored in each internal buffer.
[0037]
An object attribute memory (OAM) unit 205 stores display coordinates of sprites (objects) stored in the SRAM 106. The display coordinates correspond to the timing when the object generator unit 205 reads the image (graphic) data of the sprite (object) from the SRAM 106 via the SRAM interface unit 202. The object generator unit 203 reads image (graphic) data of the target sprite (object) from the SRAM 106 via the SRAM interface unit 202 according to the display coordinates of each sprite (object).
[0038]
The image (graphic) data is prepared as a collection of color codes indicating the drawing color of each dot, for example. The priority controller unit 206 assigns one of the color codes output from the object generator unit 203 or the background generator unit 204 for each dot corresponding to each horizontal display period to a predetermined priority ( Select according to (priority) and output.
[0039]
The color look-up table unit 207 stores R (red), G (green), and B (blue) digital data (RGB data) assigned to each color code in separate storage areas, and a priority controller unit. The RGB data assigned to the color code output by 206 is selected and output to the RGB D / A converter 208.
[0040]
The RGB D / A conversion unit 208 converts the RGB digital data output from the color lookup table unit 207 into an RGB analog video signal and outputs the RGB analog video signal.
The oscillator unit 209 generates various clocks necessary for each unit of the VDP 105 to operate.
[0041]
The horizontal / vertical synchronization counter unit 210 is a counter circuit for generating a horizontal synchronization counter value (horizontal synchronization signal) and a vertical synchronization counter value (vertical synchronization signal) necessary for image display in accordance with a clock output from the oscillator unit 209. is there.
[0042]
The decoder unit 211 decodes the horizontal synchronization counter value and the vertical synchronization counter value from the counter value output from the horizontal / vertical synchronization counter unit 210 and supplies the decoded value to each unit in the VDP 105.
[0043]
The video signal generator unit 212 generates a video signal required by the encoder 107 from the horizontal synchronization counter value and the vertical synchronization counter value output from the decoder unit 211, and supplies the video signal to the encoder 107.
[0044]
Next, a schematic operation of the VDP 105 having the above configuration will be described.
As shown in FIG. 3, the VDP 105 according to the present embodiment uses images represented by image (graphic) data output from the generator units 203 to 204 as virtual display surfaces, and superimposes these display surfaces. In this way, a single display screen (image) is formed.
[0045]
In FIG. 3, the background plane is created by the background generator unit 204, and the object plane, blowing plane, and icon plane, which are other display planes, are created by the object generator unit 203. These display surfaces are arranged in the order of the background surface, the object surface, the blowing surface, and the icon surface from the back to the front.
[0046]
The priority of each display surface is set higher for the front display surface. The priority controller unit 206 selects one of the image (graphic) data (color code) output from the generator units 203 to 204 for each dot according to the priority set on each display surface. And outputs it to the color lookup table unit 207. As a matter of course, this selection is performed among the generator units 204 to 206 that output color codes that are symmetrical to the selection. Thereby, each display surface is synthesized in such a way that a display surface with a high priority hides a display surface with a lower priority.
[0047]
The background is assigned to the background, the object to be moved on the display screen is assigned, the balloon containing letters is assigned to the balloon, and the icons have various icons necessary for image creation. Assigned. Specifically, as shown in FIG. 3, a background object and a character are assigned to the object plane, and a palette change icon, a palette icon group, and a cursor icon are assigned to the icon plane. The following description will be made on the assumption that the partial images shown in FIG. 3 are assigned to the respective display surfaces. This is to facilitate understanding by making the description concrete. In addition, the parts arranged on the display surface are expressed as partial images when they are not specified.
[0048]
In the present embodiment, partial images assigned to object planes and balloon planes, that is, characters, background objects, presence / absence display of balloons, and drawing colors of partial images to be displayed are designated for one screen. Image creation is performed. Although a detailed description is omitted, the selection of the partial image to be displayed is performed by, for example, displaying the name of the partial image that can be displayed (assigned to the icon surface), and then the user presses the cursor key KY1, the decision key KY4, It is done by operating.
[0049]
In the present embodiment, in addition to the image (graphic) data of these partial images, data for reproduction as so-called animation for operating these partial images is stored in the program / data ROM 102.
[0050]
4A and 4B are configuration diagrams of data related to character display. FIG. 4A shows an example of the configuration of data for character display, and FIG. These are data stored in the program / data ROM 102.
[0051]
The character display data includes animation data and image (graphic) data.
The animation data in FIG. 4A indicates an image (graphic) data number that is a number assigned to the image (graphic) data and a time during which the image (graphic) data of the image (graphic) data number is displayed. It consists of waiting time. The waiting time is prepared as a value when expressed in a predetermined time unit. <Return to the beginning> command of data # 16 means returning to the first data # 0 of animation data.
[0052]
The movement amount data shown in FIG. 4B includes movement amounts in the X direction and Y direction that the character moves from the previous display position, and a waiting time. These are data for managing the display position of the character. On the other hand, the initial position data is data indicating the initial display position of the character. It consists of an initial X coordinate, a Y coordinate, and a waiting time until the movement amount data is first added.
[0053]
The data shown in FIG. 5A and FIG. 5B are stored in the ROM 102 as background data, which is another partial image to be operated, and display data for balloons. The data structure shown in FIGS. 5A and 5B is basically the same as that of the character shown in FIG. However, in the animation data of the background object in FIG. 5A, there is a <not display> command of data # 0 that does not exist in the animation data of other partial images. This <not display> command is a command for displaying the background of the background surface as it is without arranging the background object on the object surface. In the present embodiment, this <not display> command expresses how the smoke changes between the two prepared background objects and the background portion masked by these background objects.
[0054]
The drawing color of the partial image can be changed by selecting one palette icon from the palette icon group shown in FIG. 3 and specifying the portion (one area constituting the partial image) to be drawn with the selected palette icon. (Set). The palette icon is selected by moving the cursor icon to the position of the desired palette icon and then operating the enter key KY4. The part for which the drawing color is desired to be changed is designated by operating the enter key KY4 after moving the cursor icon to that part.
[0055]
In the present embodiment, a plurality of palette icon groups (pallets) are prepared so as to meet various user requests. The palette change icon is for instructing to change the palette icon group (pallet) to be displayed. Each time the palette change icon is clicked, the palette (pallet icon group) is cyclically switched in a predetermined order. Is displayed. The drawing color data to be displayed for each palette (pallet icon group) is stored in the ROM 102 in the format shown in FIG. 6 (in the figure, the numbers indicated with # are palette numbers). The ROM 102 also stores character data to be displayed in the balloon frame.
[0056]
These various data stored in the ROM 102 are read out by the CPU 101 in accordance with the contents designated by default or the contents designated by operating the control pad 104 by the user. When the CPU 101 reads out these data, the CPU 101 sends the data to the VDP 105 as it is or according to the type of the data.
[0057]
Image (graphic) data sent from the CPU 101 to the VDP 105 is sent to the SRAM 106 via the CPU interface unit 201, the data bus 214, and the SRAM interface unit 202. The SRAM 106 stores the image (graphic) data sent from the CPU 101 in the format shown in FIG. 7 at the address designated by the CPU 101 via the CPU interface unit 201, the address bus 213, and the SRAM interface unit 202.
[0058]
The position where the partial image excluding the background is arranged (displayed) is controlled by setting the coordinate position. The CPU 101 generates data (attribute data) indicating an attribute such as a coordinate position for displaying a partial image (image (graphic) data) stored in the SRAM 106 and sends the data to the VDP 105. The VDP 105 sends this attribute data to the OAM unit 205 via the CPU interface unit 201 and the data bus 214. The OAM unit 205 stores the sent attribute data in the format shown in FIG. 7 at the address specified by the CPU 101 via the CPU interface unit 201 and the address bus 213.
[0059]
As shown in FIG. 7, the image (graphic) data of each partial image and its attribute data have predetermined areas for storing them, and are stored in association with each other. In addition to the priority of the display surface to which each partial image is assigned, the priority within the same display surface is set. The priority in the same display surface is controlled by the position stored in the OAM unit 205 (SRAM 106). In FIG. 7, the higher the priority, the higher the priority. Specifically, on the balloon surface, the balloon character has a higher priority than the balloon frame, and on the icon plane, a higher priority is set in the order of the cursor icon, palette change icon, and palette icon group.
[0060]
As shown in FIG. 7, the attribute data of the partial image includes a left / right reversal flag indicating whether or not the partial image is to be displayed horizontally reversed, and a character for identifying the partial image in the SRAM 106 corresponding to the attribute data. It consists of a number (represented by a character #N (N is an integer) in the figure) and X and Y coordinates for displaying the partial image.
[0061]
The object generator unit 203 accesses the SRAM interface unit 202 at each timing divided in time in each horizontal period. At this time, the object generator unit 203 calculates the timing for storing the image (graphic) data read from the SRAM 106 in the internal line buffer based on the attribute data stored in the OAM unit 205, and the image is generated at that timing. (Graphic) data is stored in a line buffer for each display surface. In these line buffers, image (graphic) data of partial images is stored with priority given to the high priority within the same display surface.
[0062]
The other background generator unit 204 should access the SRAM interface unit 202 at each time-divided timing within each horizontal period and display it from the SRAM 106 within the next horizontal period, separately from the object generator unit 203. One line of background image (graphic) data is read out and stored in an internal line buffer.
[0063]
In this way, in the three line buffers in the object generator unit 203, image (graphic) data (color code) for the next one line to be arranged on the object plane, the blowout plane, and the icon plane, respectively, for each horizontal period Stored every time. The line buffer in the other background generator unit 204 stores image (graphic) data (color code) for the next line to be arranged on the background surface for each horizontal period.
[0064]
The object generator unit 203 and the background generator unit 204 receive the horizontal synchronization counter value output from the horizontal / vertical synchronization counter unit 210, read out the color code corresponding to the count value from the internal line buffer, and execute the priority controller The data is output to the unit 206.
[0065]
When the priority controller unit 206 inputs the color code for each line buffer (display surface) output from each of the generator units 203 and 204, one color code is selected from among the priority levels set for each display surface. Is output to the CLT unit 207.
[0066]
As described above, the CLT unit 207 stores the RGB data assigned to each color code in different storage areas, and converts the RGB data set in the color code output by the priority controller unit 206 into RGB data. The data is output to the D / A converter 208. In the present embodiment, as shown in FIG. 8, a color code is assigned to each type of partial image, and the color codes of the respective parts (areas) constituting the partial image are all unified to the same value ( (Refer to FIGS. 10-12).
[0067]
In the animation reproduction by the sprite method, a method of realizing the operation of the partial image by changing the display position, the shape, or the like is used. In this embodiment, as can be seen from FIG. 4 and FIG. 5, by preparing a plurality of partial images classified as the same type, switching the display of the partial images and moving the display position thereof. The operation of the partial image is realized.
[0068]
In the case of performing animation reproduction, a drawing color is set for each of the prepared partial images. Therefore, conventionally, in order to change the drawing color of a partial image, the drawing color set for each partial image has to be changed, which requires a very troublesome work.
[0069]
In the present embodiment, the present invention is applied to a system that employs a method of generating RGB data of each dot constituting a display screen (after combining each display surface) using the CLT unit 207. Is. For this reason, as shown in FIG. 8, a color code is assigned to each type of partial image, and RGB data set for each color code is stored in a storage area assigned to the color code in the CLT unit 207. The drawing color of the partial image can be changed at once for each type. This simplifies the work required for changing the drawing color and allows the user to finish the work in a short time.
[0070]
10 to 12 show color codes assigned to each region (main part) constituting each partial image assigned to each display surface (background surface, object surface, balloon surface, icon surface).
[0071]
In the present embodiment, characters, background objects, and the like are also composed of a plurality of areas and are expressed by a plurality of drawing colors. For this reason, a plurality of color codes are assigned for each type of partial image.
[0072]
FIG. 10 is a diagram showing the color code assigned to each part constituting the character. As shown in FIG. 10, the character is divided into a plurality of parts (regions) such as hair, skin, and clothes. In the present embodiment, in order to express the action of the character, a plurality of (8 in total) characters prepared in such a plurality of portions (areas) are prepared. However, in each character having a different shape, the color code assigned to the hair is 2, the color code assigned to the skin is 3, and the value of the color code assigned to each area constituting the character is unified to the same value. ing. These color codes serve as identifiers indicating the respective parts (areas) constituting the character.
[0073]
In addition to the prepared background object (see FIG. 5A), the background object masked by the background object is used to express the change (swing) of the smoke. For this reason, as can be seen from FIGS. 8 and 11, a color code is not assigned to the background object, but the color code assigned to the background is shared by the background object. In the background object, a color code 55 is assigned to smoke, a color code 56 is assigned to wood, and a color code 54 is assigned to the roof. Further, as shown in FIGS. 8 and 12, color codes are also assigned to the balloons, palette icons, palette icons of the palette icon group, and cursor icons.
[0074]
The background is divided into a plurality of parts (regions) such as clouds, mountains, ponds, etc., in addition to smoke, trees, roofs, etc. common to the background object. A color code 50 is assigned to the cloud, a color code 51 is assigned to the mountain, and a color code 52 is assigned to the pond. Also in the background and the background object, the color code assigned to each part (area) constituting it becomes an identifier indicating the part (area) to which the part is assigned. Note that a color code 1 in which black is set as the drawing color is assigned to the contour line indicating the boundary of each part (region) regardless of the type of the partial image.
[0075]
The drawing color of each part (area) constituting each partial image is designated by the user. In order to respond to the designation of the drawing color by the user, the RGB data stored in the CLT unit 207 is rewritten. The rewriting is realized by writing the RGB data sent from the CPU 101 via the CPU interface unit 201 and the data bus 214 to the address designated by the CPU 101 via the CPU interface unit 201 and the address bus 213. Thereby, each partial image is expressed by the drawing color designated by the user, and a display screen desired by the user is created.
[0076]
As is well known, the television 108 renders an image by raster scanning the screen. Therefore, the VDP 105 outputs an RGB analog video signal corresponding to the scanning (frame period).
[0077]
The output of the video signal corresponding to the scanning of the television 108 is such that the horizontal synchronization counter value and the vertical synchronization counter value output from the decoder unit 211 are set as a horizontal synchronization signal and a vertical synchronization signal, respectively, and each part of the VDP 105 is set to these counter values. It is realized by operating in response. FIG. 13 is an explanatory diagram of screen display timing. This represents the relationship between each counter value and the display coordinates of the dot indicated by that value, and the operation of each part of the VDP 105 is controlled by each counter value.
[0078]
As shown in FIG. 13, a period in which the horizontal synchronization counter value output from the decoder unit 211 changes from 000h to 2FFh ("h" indicates a hexadecimal number) is one horizontal period, of which 256 counts from 000h to 0FFh A period corresponding to one horizontal synchronization counter value is a horizontal display period for one line of 256 dots, and a period corresponding to the other horizontal synchronization counter values is a horizontal blank period. In addition, a period in which the vertical synchronization counter value output from the decoder unit 211 changes from 000h to 1FFh is one vertical period, and this is a display period for one screen (field) on the television 108. In this vertical period, a period corresponding to 224 counts of vertical synchronization counter values from 000h to 0DFh is a vertical display period of 224 lines in the vertical direction, and a period corresponding to other vertical synchronization counter values is a vertical blank period.
[0079]
From the CLT unit 207 to the RGB value D / A conversion unit 208, every time the horizontal synchronization counter value is counted up, one set (1 dot) of RGB data is output.
[0080]
The setting and transfer of various data from the CPU 101 to the SRAM 106 or the object attribute memory (OAM) unit 205 is executed, for example, in each vertical blank period, thereby changing the display screen every moment. In the present embodiment, rewriting of RGB data stored in the CLT unit 207 is performed using a vertical blank period.
Detailed operation of CPU 101
First, the animation reproduction operation of the CPU 101 will be specifically described with reference to FIGS. 9, 14, and 15. FIG. FIG. 15A shows animation data, initial position data, and movement amount data for a character, and FIG. 15B shows animation data for a background object. These are data for managing the actions of the character and the background object, respectively. FIG. 14 is a timing chart showing an operation example as an animation. This shows how a character and a background object are expressed in motion when animation reproduction is performed with the data shown in FIG.
[0081]
FIG. 9 is a data configuration diagram of the work RAM 103. The CPU 101 performs animation reproduction while using the work RAM 103 as a work area. FIG. 9 shows the configuration of various management data stored in the work RAM 103 by the CPU 101 for performing animation reproduction.
[0082]
As shown in FIG. 9, the management data is divided for each partial image.
The character management data includes a movement amount counter, a movement amount data number, an animation counter, and an animation data number. The movement amount counter and the movement amount data number are data for managing the movement of the character. In the movement amount data in FIG. 15A, the movement amount counter has a waiting time of data # 2, a movement amount data number. Is set with the data number currently being processed (except for data # 2).
[0083]
The animation counter and the animation data number are data for managing the character to be displayed. In FIG. 15A, the animation counter is a waiting time, and the animation data number is the character currently displayed (image (graphic)). Number assigned to (data) is set.
[0084]
The background object management data includes an animation counter and an animation data number. In the animation counter and the animation data number, the waiting time in the animation data in FIG. 15B and the data number currently being processed (excluding the waiting time) are set, respectively. The balloon management data has the same configuration as the background object management data.
[0085]
The animation management data is data for managing animation reproduction as a whole, and includes an animation mode and an animation frame number.
[0086]
The animation mode is data indicating whether animation reproduction is currently being performed or whether the reproduction is stopped (during pause). The animation frame number is data indicating the number of frames that have elapsed since the start of animation reproduction.
[0087]
The frequency of the animation frame is 60 as shown in FIG. The frame frequency of the NTSC system is 30, and one frame is composed of two fields, so one field corresponds to one animation frame. The waiting time prepared for each partial image is a value using this one animation frame as a reference time. The CPU 101 recognizes the time of one animation frame, for example, by inputting the vertical synchronization counter value (see FIG. 13) output from the horizontal / vertical synchronization counter unit 210 of the VDP 105 by the timer function provided therein. .
[0088]
When performing animation playback, for example, when the CPU 101 sets a waiting time in the animation counter of the character management data, the set value is decremented in accordance with the progress of the animation frame. Data in the animation data in the program / data ROM 102 indicated by the number is read (see FIG. 4A), and the character (image (graphic) data) to be displayed next is specified. After specifying the character (image (graphic) data), the animation counter sets a waiting time for displaying the specified character (image (graphic) data), and the animation data number is further next. The data number in the animation data in which the number of the character (image (graphic) data) to be displayed is stored is set. The other counters and data numbers are used in the same manner as described above.
[0089]
In FIG. 15A, all waiting times (data # 1, # 3,..., # 15) in the animation data are 6, and in the movement amount data, the X direction movement amount is 1, and the Y direction movement amount. Is 0 and the waiting time is 1. For this reason, as shown in FIG. 14, the character image (graphic) data is switched every six animation frames, and the display position is moved one by one in the positive direction of the X direction every animation frame. The movement amounts in the X direction and the Y direction are values based on, for example, dots on the display screen. When the movement amount 1 corresponds to 1 dot, the character moves 1 dot every time one animation frame period (1/60 seconds) elapses.
[0090]
On the other hand, in the background object, all waiting times in the animation data are 8 as shown in FIG. For this reason, as shown in FIG. 14, the display (including non-display) of the background object is switched every 8 animation frames.
[0091]
Explanation of processing flow
The operation of the CPU 101 will be described in detail with reference to the operation flowcharts shown in FIGS. Various operation flowcharts are realized by the CPU 101 executing a control program stored in the program / data ROM 102.
[0092]
FIG. 16 is an operation flowchart of the entire process.
When the system power is turned on, first, the initial process of step 1601 is executed. This initial processing is processing for initial setting of the VDP 105 and the like. By executing this processing, the initial screen is displayed on the television 108. Details of the processing will be described later.
[0093]
When the initial processing in step 1601 is completed, next, various keys on the control pad 104 are scanned, and processing for capturing information on the operation states of these various keys is performed (step 1602). When the process of step 1602 is completed, the process proceeds to step 1603.
[0094]
In step 1603, the type of the key that is currently operated is determined from the operation state information of the various keys captured in step 1602. If it is determined in step 1603 that there is no operated key, the process proceeds to step 1619. If it is determined that any key is operated, the processing of steps 1604 to 1618 is executed according to the determination result.
[0095]
If it is determined in step 1603 that the cursor movement key KY1 has been operated, the process proceeds to step 1604. The cursor movement key KY1 includes up / down / left / right keys. In step 1604, the position where the cursor icon is to be displayed next is calculated by performing an operation according to the type of the key operated with the cursor movement key KY1 with respect to the current display position (XY coordinate) of the cursor icon. . The newly calculated display position (XY coordinates) is sent to the OAM unit 205 shown in FIG. 2 as attribute data of the cursor icon in step 1620 described later. Thus, the cursor icon moves on the display screen following the operation performed by the user on the cursor movement key KY1. After the process of step 1604 is completed, the process proceeds to step 1619.
[0096]
If it is determined in step 1603 that the enter key KY4 has been operated, the process proceeds to step 1605. The determination key KY4 is a key for the user to instruct execution of an operation for realizing desired contents as described above. The processing of steps 1606 to 1617 following step 1605 is performed according to the content instructed by the user.
[0097]
In step 1605, it is determined whether or not the cursor icon is on any palette icon in the palette icon group. If the user moves the cursor icon onto any of the displayed palette icons and then operates the enter key KY4, the determination is yes and the process moves to step 1606. Otherwise, the determination is no and the process moves to step 1607.
[0098]
The image (graphic) data for displaying the palette icon group includes a portion where the color code is 0, that is, transparent (see FIG. 8). Since this transparent part (area) is not displayed, if the cursor icon is located in that part (area), it is determined in step 1605 that the cursor icon is not located on the palette icon. . The same applies to a case where it is determined whether or not the cursor icon is positioned on another partial image.
[0099]
Whether or not the cursor icon is positioned on the palette icon is compared with, for example, the XY coordinates of the cursor icon currently stored in the OAM unit 205 and the XY coordinates of the palette icon group stored in the OAM unit 205. By doing. The same applies to a case where it is determined whether or not the cursor icon is positioned on another partial image. The XY coordinates of various partial images stored in the OAM unit 205 are also stored in the work RAM 103, and the CPU 101 reads out the XY coordinates of the corresponding partial image from the work RAM 103 and performs the above determination.
[0100]
When the user operates the enter key KY4 after moving the cursor icon on any of the displayed palette icons, the selected color code (RGB data) assigned to the palette icon is displayed as a partial image (RGB data). It becomes the drawing color that paints the part that composes it). In step 1606, a drawing color changing process is executed in which the RGB data of the color code assigned to the palette icon is used as the RGB data of the color code assigned to the cursor icon. Thereafter, the process proceeds to step 1619.
[0101]
In step 1607, it is determined whether or not the cursor icon is positioned on the palette change icon (see FIG. 3). If the user moves the cursor icon onto the palette change icon and then operates the enter key KY4, the determination is yes and the process proceeds to step 1608. Otherwise, the determination is no and the process moves to step 1609.
[0102]
The palette change icon is for the user to instruct to change the displayed palette (pallet icon group) to another palette (pallet icon group). In step 1608, a palette change process for changing the palette (pallet icon group) to be displayed is executed, and then the process proceeds to step 1619.
[0103]
In steps 1609 to 1617, processing for changing the drawing color at the position to the drawing color set in the cursor icon according to the partial image where the cursor icon is located when the enter key KY4 is operated is performed. Done.
[0104]
In step 1609, it is determined whether or not the cursor icon is positioned on the balloon character (see FIG. 12). If the user operates the enter key KY4 after moving the cursor icon over any of the balloon characters, the determination is yes and the process proceeds to step 1610. Otherwise, the determination is no and the process moves to step 1611.
[0105]
In step 1610, assuming that the user has instructed to change the color of the balloon character, color change processing for changing the balloon character to the drawing color of the cursor icon is executed. After this process is completed, the process proceeds to step 1619.
[0106]
In step 1611, it is determined whether or not the cursor icon is positioned on the balloon frame (see FIG. 12). If the user operates the enter key KY4 after moving the cursor icon within the balloon frame avoiding the balloon characters, the determination is YES and the process proceeds to step 1612. Otherwise, the determination is no and the process moves to step 1613.
[0107]
In step 1612, assuming that the user has instructed to change the color of the balloon frame, color change processing is executed to change the balloon frame to the drawing color of the cursor icon. After this process is completed, the process proceeds to step 1619.
[0108]
In step 1613, it is determined whether or not the cursor icon is positioned on the character (see FIG. 10). If the user moves the cursor icon on the character and then operates the enter key KY4, the determination is yes and the process proceeds to step 1614. Otherwise, the determination is no and the process moves to step 1615.
[0109]
In step 1614, assuming that the user has instructed to change the color of the character, color change processing is executed for changing the portion (area) of the character where the cursor icon is located to the drawing color of the cursor icon. After this process is completed, the process proceeds to step 1619.
[0110]
In step 1615, it is determined whether or not the cursor icon is positioned on the background object (see FIG. 11). If the user moves the cursor icon on the background object and then operates the enter key KY4, the determination is yes and the process proceeds to step 1616. Otherwise, the determination is no and the process moves to step 1617.
[0111]
In step 1616, assuming that the user has instructed to change the color of the background object, a color change process is executed for changing the portion (area) of the background object where the cursor icon is located to the drawing color of the cursor icon. After this process is completed, the process proceeds to step 1619.
[0112]
As described above, the background object arranged to mask a part of the background has a period during which the animation is not displayed. If the user gives an instruction to change the color of the background portion (area) masked by the background object during the period in which the background object is not displayed, the background color changing process in step 1617 is executed, and the cursor icon Change the drawing color of the displayed part. After this process is completed, the process proceeds to step 1619.
[0113]
On the other hand, if it is determined in step 1603 that any of the other keys, that is, the start / stop key KY2, the reset key KY3, the forward frame advance key KY5, or the backward frame advance key KY6 is operated, The animation mode changing process in step 1618 is executed. The animation mode changing process in step 1618 is performed in accordance with the key operated by the user. After this process is completed, the process proceeds to step 1619.
[0114]
In step 1619, animation processing for advancing animation reproduction is executed. When this process ends, a process for transferring data to be transferred to the VDP 105 generated as a result of executing the above-described steps 1604 to 1618 using the vertical blank period (see FIG. 13) is performed. After this transfer process is completed, the process returns to step 1602 and the subsequent processes are executed in the same manner.
[0115]
In this embodiment, as can be seen from the overall processing in FIG. 16 described above, the palette is changed as needed, and partial images such as cursor icons, balloons, characters, and backgrounds are changed according to the key operation provided on the control pad 104. Change the color. For this reason, the troublesome switching operation of the mode setting is avoided, and the user can change the drawing color of the partial image quickly and efficiently. In addition, since the drawing color of the partial image can be changed even during animation reproduction, it is possible to specify a color in consideration of the movement of the partial image.
[0116]
FIG. 17 is an operation flowchart of the initial process executed as step 1601 shown in FIG. By executing this initial process, an initial screen is displayed on the screen of the television 108.
[0117]
First, in step 1701, the OAM unit 205 and the like in the VDP 105 are initialized. When this initialization is completed, next, in step 1702, the animation mode is set to pause, and in the subsequent step 1703, the animation frame number is set to zero. When the processing in these steps 1702 and 1703 is executed, a value indicating 0 is set and 0 is set in the animation management data stored in the work RAM 103, that is, the animation mode and the animation frame number.
[0118]
In step 1704 following step 1703, an animation initial process is performed in which the character is arranged at the display position indicated by the initial position data in FIG. After this process is completed, the process proceeds to step 1705.
[0119]
In step 1705, an animation initial process for arranging the background object according to the animation data of FIG. 5A is executed. In step 1706 following this process, an animation initial process for arranging the balloons in accordance with the display position of the character is executed. After completing this process, the process proceeds to step 1707.
[0120]
In steps 1707 to 1711, a drawing color (RGB data) corresponding to each color code assigned to the outline, character, background, balloon, and balloon is initialized. Specifically, black is set for outlines and balloon characters, and white is set for all others. With this setting, the initial screen has a white background as a background, and the outlines and balloon characters of each partial image are drawn in black on the background.
[0121]
In steps 1712 to 1714 subsequent to step 1711, processing relating to display of the palette and the cursor icon is performed. By performing these processes, the palette (pallet icon group) and the cursor icon are initially displayed in a preset drawing color.
[0122]
First, in step 1712, 0 is set to the pallet number (see FIG. 9) which is pallet management data. In the subsequent step 1713, the selected colors (10 in total) assigned to each pallet icon with the pallet number 0 are read from the program / data ROM 102 (see FIG. 6), and these are stored in the color codes 246 to 255 of the CLT unit 207. Set as the corresponding selected color (RGB data). Thereafter, in step 1714, the drawing color of the cursor icon to which the color code 245 is assigned is set to the selected color of the color code 246 set in step 1713.
[0123]
In step 1715 following step 1714, processing for transferring image (graphic) data to be transferred to the SRAM 106 and data to be written to the OAM unit 205 and CLT unit 207 in the VDP 105 after waiting for a vertical blank period (see FIG. 13). Do. When the processing in step 1715 ends, a series of processing ends.
[0124]
In the work RAM 103, the number of image (graphic) data of each partial image to be displayed, the position at which it is displayed (arranged), and the drawing color (RGB) of the color code assigned to each part (area) constituting it Data) is stored for control management. The result of executing the processing of steps 1704 to 1714 described above is reflected in the control management data stored in the work RAM 103. The processing in step 1715 is performed based on this control management data.
[0125]
Next, with reference to FIGS. 18 to 20, each animation initial process in steps 1704 to 1706 shown in FIG. 17 will be described in detail.
First, the character animation initial process at step 1704 shown in FIG. 17 will be described with reference to the operation flowchart shown in FIG. This character animation initial processing is performed based on the animation data shown in FIG. 4, the initial position data, etc., for character management data stored in the work RAM 103 (see FIG. 9), and data stored in the OAM unit 205 in the VDP 105. This is a process for initial setting.
[0126]
First, in step 1801, the X and Y coordinates stored in the storage area assigned to the character in the OAM unit 205 are read from the program / data ROM 102, and the initial X coordinates of the character's initial position data (see FIG. 4). , Set to the initial Y coordinate. In the subsequent step 1802, the waiting time of the initial position data is set in the movement amount counter (see FIG. 9) constituting the character management data stored in the work RAM 103. Thereafter, in step 1803, 0 is set to the movement amount data number constituting the character management data. As described above, 0 indicates the data indicated by data # 0 in the movement amount data of FIG. After the movement amount data number is set to 0, the process proceeds to step 1804.
[0127]
In step 1804, character image (graphic) data to be stored in the SRAM 106 is specified from the animation data data # 0 in FIG. The specified image (graphic) data is transferred to the SRAM 106 in the process of step 1715 in FIG.
[0128]
In the subsequent step 1805, the animation data # 1 of FIG. 4A, that is, the waiting time is set in the animation counter constituting the character management data. After the setting of the waiting time is completed, in step 1806, 2 is set to the animation data number constituting the character management data. This 2 indicates the data indicated by data # 2 in the animation data of FIG. 4A as described above. After 2 is set in the animation data number, a series of processing ends.
[0129]
FIG. 19 is an operation flowchart of the background object animation initial process executed as step 1705 of FIG. Next, this animation initial process will be described in detail. This animation initial process is a process for initializing the background object management data (see FIG. 9) stored in the work RAM 103 and the data stored in the OAM unit 205 in the VDP 105, similarly to the character animation initial process.
[0130]
First, in step 1901, the animation data of FIG. 5A is read from the program / data ROM 102, and it is determined whether or not the data # 0 is a “non-display” command. If the data # 0 is a “non-display” command, the determination is YES and the process proceeds to step 1902; otherwise, the determination is NO and the process proceeds to step 1903.
[0131]
In step 1902, in order not to place the background object on the object plane, the X and Y coordinates stored in the storage area of the OAM unit 205 assigned to the background object are set to predetermined values outside the screen. After this setting is completed, the process proceeds to step 1905.
[0132]
On the other hand, in step 1903, the X and Y coordinates stored in the storage area of the OAM unit 205 assigned to the background object are set to predetermined X and Y coordinates that mask the portion (area) on the background corresponding to it. To do. In the subsequent step 1904, the number stored in the animation data data # 0 in FIG. 5A (the data # 0 has a number for specifying image (graphic) data unless it is a “non-display” command. Image (graphic) data corresponding to (stored) is specified as image (graphic) data to be transferred to the SRAM 106. After that is completed, the process proceeds to step 1905.
[0133]
In step 1905, the waiting time which is data # 1 of the animation data is set in the animation counter (see FIG. 9) constituting the background object management data stored in the work RAM 103. Thereafter, at step 1906, 2 is set to the animation data number constituting the background object management data. This 2 indicates the data indicated by data # 2 in the animation data of FIG. 5A as described above. After 2 is set in the animation data number, a series of processing ends.
[0134]
FIG. 20 is an operation flowchart of the balloon animation initial process executed as step 1706 of FIG. Next, this animation initial process will be described in detail.
[0135]
In the present embodiment, a character is moved to move the display position. For this reason, in the balloon animation initial process, the balloon and the initial display position of the balloon character are set (determined) based on the initial display position of the character determined by executing the animation initial process of the character in FIG.
[0136]
The total number of balloon characters in the present embodiment is 8, for example, as can be seen from FIG. In the processes of steps 2001 and 2002, the initial display positions are set in a predetermined order for the eight balloon characters.
[0137]
First, in step 2001, the X and Y coordinates stored in the storage area of the OAM unit 205 assigned to the balloon characters are subjected to predetermined calculation processing, for example, with respect to the initial display position (X and Y coordinates) of the character. Set to the X and Y coordinates obtained in step (1). The X and Y coordinates set by executing this step 2001 are for one character. In this step 2001, the number of executions is counted, and the X and Y coordinates of the balloon characters corresponding to the count value are set.
[0138]
In step 2002 following step 2001, it is determined whether or not the X and Y coordinates for eight characters have been set. When the X and Y coordinates are set for all the balloon characters to be displayed, the determination is YES and the process proceeds to step 2003. Otherwise, the determination is no and the process returns to step 2001.
[0139]
In step 2003, the X and Y coordinates stored in the storage area of the OAM unit 205 assigned to the balloon frame are obtained by performing predetermined arithmetic processing on the initial display position (X, Y coordinates) of the character, for example. Set to the X and Y coordinates. Thereafter, the process proceeds to step 2004.
[0140]
In steps 2004 to 2006, initial setting is performed according to the animation data of FIG. 5B read from the program / data ROM 102.
First, in step 2004, image (graphic) data to be displayed as a balloon frame is specified from the number stored as the animation data data # 0. In the following step 2005, the waiting time which is data # 1 of the animation data is set in the animation counter (see FIG. 9) constituting the blowing management data stored in the work RAM 103. Thereafter, in step 2006, 2 is set to the animation data number constituting the blowing management data. This 2 indicates the data indicated by data # 2 in the animation data of FIG. 5B as described above. After 2 is set in the animation data number, a series of processing ends.
[0141]
Next, the animation mode changing process executed as step 1618 in FIG. 16 will be described in detail with reference to the operation flowchart shown in FIG. As described above, the animation mode changing process is executed when the user operates the start / stop key KY12, the reset key KY3, the forward frame advance key KY5, or the backward frame advance key KY6.
[0142]
First, in step 2101, the type of key operated by the user is determined. Subsequent steps 2101 to 2117 are performed according to the type of key operated by the user.
[0143]
If it is determined in step 2101 that the key operated by the user is the start / stop key KY2, the process proceeds to step 2102.
In step 2102, the current animation playback state is determined from the animation mode constituting the animation management data stored in the work RAM 103.
[0144]
If it is determined in step 2102 that the animation is currently being played back, the animation mode is set to pause in step 2103, and then a series of processing ends. If it is determined in step 2102 that the animation playback is currently paused, the animation mode is set to playback in step 2104, and then a series of processing ends.
[0145]
If it is determined in step 2101 that the key operated by the user is the forward frame advance key KY5, the process proceeds to step 2105.
In step 2105, the current animation playback state is determined from the animation mode constituting the animation management data stored in the work RAM 103.
[0146]
If it is determined in step 2105 that the animation is currently being played back, the series of processing ends here. If it is determined in step 2105 that the animation playback is currently paused, the process proceeds to step 2106.
[0147]
In step 2106, the animation frame number constituting the animation management data stored in the work RAM 103 is advanced (added) by the frame advance amount.
[0148]
The frame advance amount is the number of animation frames (one frame period is 1/60 second) advanced by one operation on the forward frame advance key KY5, and the number of frames is the character or background object to be arranged (displayed). It is necessary to set the value so that at least one of the values is switched (frame-advanced). For this reason, the frame advance amount is determined from the values of the animation counters of the character management data and the background object management data, for example. As shown in FIG. 15, when the animation data of the character and the background object is set, the waiting time of the character is 6 and the waiting time of the background object is 8, so the frame advance amount is 6 to 8 (animation By setting the value between the number of frames), frame advance can be reliably realized.
[0149]
In step 2107 following step 2106, frame advance processing is performed in which the character is advanced in the forward direction according to the frame advance amount determined in step 2106. When this is completed, in the next step 2108, the frame advance processing in the forward direction is similarly executed for the background object. After the processing in step 2108 is completed, the series of processing is terminated.
[0150]
If it is determined in step 2101 that the key operated by the user is the reverse frame advance key KY6, the process proceeds to step 2109.
In step 2109, the current animation playback state is determined from the animation mode constituting the animation management data stored in the work RAM 103.
[0151]
If it is determined in step 2109 that the animation is currently being played back, the series of processing ends here. If it is determined in step 2109 that the animation playback is currently paused, the process proceeds to step 2110.
[0152]
In step 2110, the animation frame number constituting the animation management data stored in the work RAM 103 is returned (subtracted) by the frame advance amount.
[0153]
The frame advance amount is the number of animation frames (one frame period is 1/60 second) to be returned by one operation with respect to the reverse frame advance key KY6. The number of frames is the same as the frame advance amount in the forward direction described above. In addition, it is necessary to set the value so that at least one of the character to be arranged (displayed) and the background object is switched. For this reason, the frame advance amount is determined from the values of the animation counters of the character management data and the background object management data, for example. As shown in FIG. 15, when the animation data of the character and the background object is set, the waiting time of the character is 6 and the waiting time of the background object is 8, so the frame advance amount is 6 to 8 (animation By setting the value between the number of frames), frame advance in the reverse direction can be reliably realized.
[0154]
In step 2111 following step 2110, it is determined whether or not the animation frame number returned in step 2110 by the reverse frame advance amount is 0 or less. When the system power is turned on, the initial process of FIG. 17 is executed in step 1601 of FIG. 16, and 0 is set to the animation frame number. When the animation frame number is 0, the display screen on which the animation is reproduced is the initial screen. If the animation frame number is 0 or less, the determination is YES and the process proceeds to step 2114. If the number is greater than 0, the determination is NO and the process proceeds to step 2112. As will be described later, the processing after step 2114 is processing for displaying the initial screen.
[0155]
In step 2112, frame advance processing is performed to advance the character in the reverse direction according to the frame advance amount determined in step 2110. When this is completed, next, in step 2113, the frame advance process in the reverse direction is similarly executed for the background object. After the process of step 2113 is completed, the series of processes is terminated.
[0156]
If it is determined in step 2101 that the key operated by the user is the reset key KY3, the process proceeds to step 2114. In steps 2114 to 2117, as described above, a series of processes for displaying the initial screen is performed.
[0157]
First, in step 2114, the animation frame number is set to zero. Thereafter, in each process of steps 2115 to 2117, an animation initial process (see FIGS. 18 to 20) of each partial image of the character, the background object, and the balloon is executed. After these animation initial processes are finished, a series of processes is finished.
[0158]
The above-described animation mode change process is executed whenever the user operates the start / stop key KY12, the reset key KY3, the forward frame advance key KY5, or the backward frame advance key KY6 on the control pad 104. For this reason, the user can arbitrarily operate the start / stop key KY2, for example, an arbitrary display screen so that animation playback is paused in a state where a character that is easy to specify a desired color is displayed. Can be selected. As a result, for example, even in an animation in which a plurality of partial images (objects) are displayed only for a short period of time, it is possible to easily specify colors for the plurality of partial images (objects), thereby improving the work efficiency. Can do.
[0159]
When the start / stop key KY2 is operated and the animation mode is set to pause, the frame is advanced by operating the frame advance keys KY5 and KY6 to select a desired display screen. Since it can be displayed, the color designation for the partial image (object) becomes easier.
[0160]
Next, each subroutine process of steps 2107, 2108, 2112, and 2113 executed in the above-described animation mode change process of FIG. 21 will be described in detail with reference to the operation flowcharts of FIGS.
[0161]
First, with reference to the operation flowchart of FIG. 22, the character forward direction frame advance processing will be described in detail. As described above, the forward frame advance process is a process of moving the character forward in the forward direction according to the frame advance amount determined in step 2106 in FIG. The entire processing flow is such that the movement amount counter and the animation counter (see FIG. 9) constituting the character management data stored in the work RAM 103 are repeatedly decremented by the frame feed amount, and the decrement is performed once. The character movement amount and the image (graphic) data to be stored in the SRAM 106 are specified according to the value of each counter after decrementing.
[0162]
First, in step 2201, the movement amount counter is decremented. In the next step 2202, it is determined whether or not the value of the movement amount counter after the decrement is zero. If the value of the movement amount counter is greater than 0, the determination is no and the process proceeds to step 2208. Otherwise, the determination is yes and the process moves to step 2203.
[0163]
When the value of the movement amount counter becomes 0, the character is moved as described above. In step 2203, the movement amount data number constituting the character management data stored in the work RAM 103 is viewed, and the movement amount data (refer to FIG. 4B) indicated by the number is the data in the X and Y directions. The amount of movement is added to the X and Y coordinates of the current character stored in the work RAM 103, respectively. The X and Y coordinates are data indicating the display position of the character stored in the OAM unit 205 or to be stored.
[0164]
In step 2204 following step 2203, the waiting time constituting the movement amount data is set in the movement amount counter constituting the character management data. When the setting to the movement amount counter is completed, next, in step 2205, the movement amount data number is advanced (in the present embodiment, 3 is added), and the value is updated. Thereafter, the process proceeds to step 2206.
[0165]
In step 2206, it is determined whether or not the data indicated by the updated movement amount data number is a “return to the beginning” command (see FIG. 4B). If the data is a “return to the beginning” command, the determination is YES, and the process proceeds to step 2207. Otherwise, the determination is no and the process moves to step 2208. In step 2207, the movement amount data number is set to the top data number, that is, 0 in accordance with the command. Thereafter, the process proceeds to step 2208.
[0166]
Steps 2201 to 2207 described above are processes for determining the display position of the character. In subsequent steps 2208 to 2214, processing for determining a character to be displayed is performed.
[0167]
First, in step 2208, the animation counter is decremented. In the subsequent step 2209, it is determined whether or not the value of the animation counter after the decrement is zero. If the value of the animation counter is greater than 0, the determination is no and the process moves to step 2215. Otherwise, the determination is yes and the process moves to step 2210.
[0168]
When the value of the animation counter becomes 0, the character to be displayed is switched as described above. In step 2210, the animation data number constituting the character management data stored in the work RAM 103 is viewed, and an image (graphic) to be newly written to the SRAM 106 from the data in the animation data of FIG. Identify the data.
[0169]
In step 2211 following step 2210, the waiting time in the animation data corresponding to the image (graphic) data is set in the animation counter. When the setting of the waiting time to the animation counter is completed, next, in step 2212, the animation data number is advanced (in the present embodiment, 2 is added) and updated. Thereafter, the process proceeds to step 2213.
[0170]
In step 2213, it is determined whether or not the data indicated by the updated animation data number is a “return to the beginning” command (see FIG. 4A). If the data is a “return to the beginning” command, the determination is yes and the process proceeds to step 2214. Otherwise, the determination is no and the process moves to step 2215. In step 2214, the animation data number is set to the top data number, that is, 0 in accordance with the command. Thereafter, the process proceeds to step 2215.
[0171]
In step 2215, it is determined whether each counter is decremented by the frame advance amount. If the counter is not decremented by the frame advance amount, the determination is no and the process returns to step 2201. Otherwise, the determination is yes and the series of processing is terminated.
[0172]
FIG. 23 is an operation flowchart of the forward frame advance processing of the background object executed as step 2108 in FIG. Next, the background object forward direction frame advance processing will be described in detail with reference to FIG.
[0173]
As described above, this forward frame advance process is a process of frame-feeding the background object in the forward direction according to the frame advance amount determined in step 2106 in FIG. The entire processing flow is such that the animation counter (see FIG. 9) constituting the background object management data stored in the work RAM 103 is repeatedly decremented by the frame feed amount and decremented each time the decrement is performed. The image (graphic) data to be stored in the SRAM 106 is specified according to the value of the later counter.
[0174]
First, in step 2301, the animation counter is decremented. In the next step 2302, it is determined whether or not the value of the animation counter after the decrement is zero. If the value of the animation counter is greater than 0, the determination is no and the process proceeds to step 2311. Otherwise, the determination is yes and the process moves to step 2303.
[0175]
When the value of the animation counter reaches 0, the background object to be displayed is switched as described above. However, unlike a character, in the case of a background object, not only a prepared background object but also a background portion (area) masked by them is used to express a change in smoke. The portion (area) masked by the background object is used by hiding the background object.
[0176]
Therefore, in step 2303, the animation data number constituting the background object management data stored in the work RAM 103 is viewed, and the data in the animation data in FIG. 5A indicated by the number is “not displayed”. Determine whether the command. If the data is a “not display” command, the determination is yes and the process proceeds to step 2304. Otherwise, the determination is no and the process moves to step 2305.
[0177]
In step 2304, the X and Y coordinates of the background object stored in the work RAM 103 are set to values outside the screen. Thereafter, the process proceeds to step 2307. The X and Y coordinates stored in the work RAM 103 are data indicating the display position of the background object stored in the OAM unit 205 or to be stored.
[0178]
On the other hand, in step 2305, since the background object is displayed, the X and Y coordinates of the background object stored in the work RAM 103 are set to predetermined values. In the subsequent step 2306, the image (graphic) data of the background object to be displayed next is specified from the animation data number. Thereafter, the process proceeds to step 2307.
[0179]
The image (graphic) data specified in step 2306 is read from the program / data ROM 102 and transferred to the VDP 105 in step 1620 of FIG. The image (graphic) data is written into the SRAM 106 by the VDP 105.
[0180]
In step 2307, the waiting time of the image (graphic) data specified in step 2306 is set in the animation counter. In the subsequent step 2308, the animation data number is advanced (added 2), and the data number is updated. Thereafter, the process proceeds to step 2309.
[0181]
In step 2309, it is determined whether or not the data in the animation data indicated by the animation data number updated in step 2308 is a “return to the beginning” command (see FIG. 5A). If the data is a “return to the beginning” command, the determination is YES, and the process proceeds to step 2310. Otherwise, the determination is no and the process proceeds to step 2311. In step 2310, the animation data number is set to the top data number, that is, 0 in accordance with the command. Thereafter, the process proceeds to step 2311.
[0182]
In step 2311, it is determined whether or not the animation counter is decremented by the frame advance amount. If the counter is not decremented by the frame advance amount, the determination is no and the process returns to step 2301. Otherwise, the determination is yes and the series of processing is terminated.
[0183]
FIG. 24 is an operation flowchart of the character reverse frame feed process executed as step 2112 in FIG. Next, with reference to FIG. 24, the reverse frame advance processing of the character will be described in detail.
[0184]
As described above, the reverse frame advance process is a process of moving the character in the reverse direction according to the frame advance amount determined in step 2110 in FIG. The entire processing flow is such that the increment of the movement amount counter and the animation counter (see FIG. 9) constituting the character management data stored in the work RAM 103 is repeated by the frame advance amount, and each increment is performed. In addition, the character movement amount and the image (graphic) data to be stored in the SRAM 106 are specified according to the value of each counter after the increment.
[0185]
First, in step 2401, the movement amount counter is incremented. In the following step 2402, it is determined whether or not the incremented movement amount counter value has exceeded the previously set waiting time. If the value of the movement amount counter is larger than the waiting time, the determination is YES and the process proceeds to step 2403. Otherwise, the determination is no and the process moves to step 2408.
[0186]
If the value of the movement amount counter becomes larger than the set waiting time, it means that it is necessary to move the character in the reverse direction. In step 2403, the movement amount data number constituting the character management data stored in the work RAM 103 is returned (3 is subtracted), and the data number is updated. Thereafter, the process proceeds to step 2404.
[0187]
In step 2404, it is determined whether or not the updated movement amount data number is smaller than zero. If the data number is smaller than 0, the determination is yes and the process proceeds to step 2405. Otherwise, the determination is no and the process moves to step 2406. In step 2405, the value of the data number three before the “return to the beginning” command, that is, 0 is set in the movement amount data number. Thereafter, the process proceeds to step 2406.
[0188]
In step 2406, the X and Y direction movement amounts that are data in the movement amount data (see FIG. 4B) indicated by the movement amount data number are stored in the work RAM 103 in the X and Y directions of the current character. Subtract each from the coordinates. As described above, the X and Y coordinates are data indicating the display position of the character stored in the OAM unit 205 or to be stored.
[0189]
In step 2407 following step 2406, 1 is set in the movement amount counter in order to take the timing for subtracting the movement amount for moving the character in the opposite direction from the X and Y coordinates. Thereafter, the process proceeds to step 2408.
[0190]
Steps 2401 to 2407 described above are processes for determining the character display position. In subsequent steps 2408 to 2414, processing for determining a character to be displayed is performed.
[0191]
First, in step 2408, the animation counter is incremented. In the following step 2409, it is determined whether or not the incremented animation counter value has exceeded the waiting time set for it last time. If the value of the animation counter is greater than the waiting time, the determination is yes and the process proceeds to step 2410. Otherwise, the determination is no and the process moves to step 2415.
[0192]
If the value of the animation counter becomes larger than the set waiting time, it means that the character needs to be switched. In step 2410, the animation data number constituting the character management data stored in the work RAM 103 is returned (2 is subtracted), and the data number is updated. Thereafter, the process proceeds to step 2411.
[0193]
In step 2411, it is determined whether or not the updated animation data number is smaller than 0. If the data number is smaller than 0, the determination is yes and the process proceeds to step 2412. Otherwise, the determination is no and the process moves to step 2413. In step 2412, the value of the data number two before the “return to the beginning” command, ie, 14 is set in the animation data number (see FIG. 4A). Thereby, the character can be cyclically switched in the reverse order to the animation reproduction. Thereafter, the process proceeds to step 2413.
[0194]
In step 2413, image data (graphic) to be displayed as a character is specified by looking at the animation data number set in step 2410 or step 2412. In the following step 2414, 1 is set in the animation counter in order to take the timing for switching the character next time. Thereafter, the process proceeds to step 2415.
[0195]
In step 2415, it is determined whether each counter has been incremented by the frame advance amount. If the increment for the frame advance amount is not performed for each counter, the determination is no and the process returns to step 2401. Otherwise, the determination is yes and the series of processing is terminated.
[0196]
FIG. 25 is an operation flowchart of background object reverse frame advance processing executed as step 2113 of FIG. Next, with reference to FIG. 25, the background frame backward frame advance processing will be described in detail.
[0197]
As described above, the reverse frame advance process is a process of moving the background object in the reverse direction according to the frame advance amount determined in step 2110 in FIG. The overall processing flow is such that the increment of the animation counter (see FIG. 9) constituting the background object management data stored in the work RAM 103 is repeated by the frame advance amount, and every time the increment is performed, The image (graphic) data to be stored in the SRAM 106 is specified according to the counter value.
[0198]
First, in step 2501, the animation counter is incremented. In the following step 2502, it is determined whether or not the incremented animation counter value has exceeded the waiting time set for it last time. If the value of the animation counter is greater than the waiting time, the determination is yes and the processing moves to step 2503. Otherwise, the determination is no and the process moves to step 2511. If the value of the animation counter is larger than the waiting time set for it last time, it means that it is necessary to switch the display of the background object.
[0199]
In step 2503, the animation data number constituting the background object management data stored in the work RAM 103 is returned (2 is subtracted), and the data number is updated. In the following step 2504, it is determined whether or not the updated animation data number is smaller than zero. If the animation data number is smaller than 0, the determination is YES, and the process proceeds to step 2505. Otherwise, the determination is no and the process moves to step 2506. In step 2505, the animation data number is set to 2 before the data storing the “return to beginning” command, that is, 4 (see FIG. 5A). After this setting is completed, the process proceeds to step 2506.
[0200]
In step 2506, it is determined whether or not the data indicated by the animation data number updated in step 2503 or 2505 is a “do not display” command. If the data is a “not display” command, the determination is yes and the process proceeds to step 2507. Otherwise, the determination is no and the process moves to step 2508.
[0201]
In step 2507, in accordance with the “not display” command, the X and Y coordinates of the background object stored in the work RAM 103 are set to values outside the screen in order not to display (place) the background object. Thereafter, the process proceeds to step 2310.
[0202]
On the other hand, in step 2508, since the background object is displayed, the X and Y coordinates of the background object stored in the work RAM 103 are set to predetermined values. In the subsequent step 2509, the image (graphic) data of the background object to be displayed next is specified from the animation data number. Thereafter, the process proceeds to step 2510.
[0203]
The image (graphic) data specified in step 2510 is read from the program / data ROM 102 and transferred to the VDP 105 in step 1620 of FIG. The image (graphic) data is written into the SRAM 106 by the VDP 105.
[0204]
In step 2510, 1 is set in the animation counter in order to take the next timing for switching the display of the background object. After 1 is set in the animation counter, the process proceeds to step 2511.
[0205]
In step 2511, it is determined whether or not the animation counter is incremented by the frame advance amount. If the counter is not incremented by the frame advance amount, the determination is no and the process returns to step 2501. Otherwise, the determination is yes and the series of processing is terminated.
[0206]
Next, each change process executed as steps 1606, 1608, 1610, 1612, 1614, 1616, and 1617 in the overall process of FIG. 16 will be described in detail with reference to the operation flowcharts of FIGS.
[0207]
In each of these changing processes, the setting of RGB data assigned to the color code of the corresponding partial image is changed to RGB data according to the content designated by the user. The RGB data of the changed color code is transferred to the CLT unit 207 in the VDP 105 after waiting for execution of step 1620 in FIG. 16, and stored in a storage area allocated in advance for the color code. Visual reflection is realized.
[0208]
First, the drawing color changing process executed as step 1606 will be described with reference to the operation flowchart shown in FIG. In the drawing color changing process, as described above, the user specifies the drawing color of the cursor icon (the color code is 245 as shown in FIG. 12C) from the palette (pallet icon group). This is a process of changing to the drawn color.
[0209]
First, in step 2601, the color code of the palette icon on which the cursor icon is displayed when the user operates the enter key KY4 is determined. As shown in FIG. 12B, color codes 246 to 255 are assigned to the palette (pallet icon group). For this reason, if the color code of the palette icon on which the cursor icon is displayed is one of 246 to 255, the process proceeds to step 2602; otherwise, the series of processing is terminated.
[0210]
In step 2602, based on the palette number (see FIG. 9) stored in the work RAM 103 and the color code determined in step 2601, corresponding RGB data (see FIG. 6) is read from the program / data ROM 102, for example. Data is set as RGB data of the color code 245 of the CLT unit 207 in the VDP 105. This RGB data set is performed on RGB data for each color code stored in the work RAM 103 for control management. After that is finished, the series of processing is finished.
[0211]
FIG. 27 is an operation flowchart of the palette changing process executed as step 1608 in FIG. Next, with reference to FIG. 27, the palette changing process will be described in detail.
[0212]
As described above, this palette change process is executed when the user operates the enter key KY4 while the cursor icon is displayed on the palette change icon.
[0213]
First, in step 2701, the pallet number stored in the work RAM 103 is updated. This update is performed, for example, by incrementing the value up to that point, and when this value becomes larger than the maximum value of the palette number (m in FIG. 6), this value is set to 0.
[0214]
In step 2702 following step 2701, the 10 RGB data (see FIG. 6) assigned to the palette number updated in step 2701 are set as RGB data of the color codes 246 to 255 of the CLT unit 207 in the VDP 105. . This RGB data set is performed on RGB data for each color code stored in the work RAM 103 for control management. After this is finished, the series of processing is finished.
[0215]
FIG. 28 is an operational flowchart of the balloon character color changing process executed as step 1610 of FIG. Next, the balloon character color changing process will be described in detail with reference to FIG.
[0216]
As described above, the balloon character color changing process is executed when the user operates the enter key KY4 while the cursor icon is displayed on the balloon character. In the present embodiment, when the cursor icon is displayed in the area shown as the grid-like frame in FIG. 12A, it is determined that the cursor icon is displayed on the balloon character.
[0217]
First, in step 2801, it is determined whether or not the color code on the balloon character on which the cursor icon is displayed when the user operates the enter key KY4 is 1 (outline). In this embodiment, since the drawing color of the contour line is not changed, if the color code is 1, a series of processing is terminated, and if not, the processing proceeds to step 2802.
[0218]
In step 2802, the RGB data set in the color code 245 of the cursor icon is set as RGB data of the color code 101 of the balloon character to be stored in the CLT unit 207 in the VDP 105. This RGB data set is performed on RGB data for each color code stored in the work RAM 103 for control management. Thereafter, the series of processing is terminated.
[0219]
FIG. 29 is an operation flowchart of the balloon frame color changing process executed as step 1612 of FIG. Next, the balloon frame color changing process will be described in detail with reference to FIG.
[0220]
As described above, the balloon frame color changing process is executed when the user operates the enter key KY4 while the cursor icon is displayed in the balloon frame (an area excluding the balloon characters).
[0221]
First, in step 2901, it is determined whether or not the color code on the balloon frame on which the cursor icon is displayed when the user operates the enter key KY4 is 1 (outline). If the color code is 1, the series of processing is terminated. Otherwise, the processing proceeds to step 2902.
[0222]
In step 2902, the RGB data set in the color code 245 of the cursor icon is set as RGB data of the color code 100 (see FIG. 12A) of the balloon frame to be stored in the CLT unit 207 in the VDP 105. This RGB data set is performed on RGB data for each color code stored in the work RAM 103 for control management. Thereafter, the series of processing is terminated.
[0223]
FIG. 30 is an operation flowchart of the character color changing process executed as step 1614 of FIG. Next, the character color changing process will be described in detail with reference to FIG.
[0224]
As described above, the character color changing process is executed when the user operates the enter key KY4 while the cursor icon is displayed on the character.
[0225]
First, in step 3001, it is determined whether or not the color code on the character on which the cursor icon is displayed when the user operates the enter key KY4 is 1 (outline). If the color code is 1, the series of processing is terminated. Otherwise, the processing proceeds to step 3002.
[0226]
As shown in FIG. 10, the character is composed of a plurality of portions (areas). In step 3002, the character portion (region) where the cursor icon is displayed is obtained, and the RGB data set in the cursor icon color code 245 is used as the color of the character portion (region) where the cursor icon is displayed. Set as code RGB data. The set RGB data is stored as RGB data of the color code of the CLT unit 207 in the VDP 105, and the set is converted into RGB data for each color code stored in the work RAM 103 for control management. Against. After this is finished, the series of processing is finished.
[0227]
FIG. 31 is an operation flowchart of the background object color changing process executed as step 1616 of FIG. Next, the background object color changing process will be described in detail with reference to FIG.
[0228]
As described above, the background object color changing process is executed when the user operates the enter key KY4 in a state where the cursor icon is displayed on the background object.
[0229]
First, in step 3101, it is determined whether or not the color code on the background object on which the cursor icon is displayed when the user operates the enter key KY4 is 1 (outline). If the color code is 1, the series of processing is terminated. Otherwise, the processing proceeds to step 3102.
[0230]
As shown in FIG. 11B, the background object is composed of a plurality of portions (areas). In step 3102, the portion (region) of the background object on which the cursor icon is displayed is obtained, and the RGB data set in the color code 245 of the cursor icon is used as the portion (region) of the background object on which the cursor icon is displayed. Set as RGB data of the color code. The set RGB data is stored as RGB data of the color code of the CLT unit 207 in the VDP 105, and the set is converted into RGB data for each color code stored in the work RAM 103 for control management. Against. After the RGB data setting is completed, a series of processing is completed.
[0231]
FIG. 32 is an operation flowchart of the background color changing process executed as step 1617 of FIG. Next, the background color changing process will be described in detail with reference to FIG.
[0232]
As described above, the background color changing process is executed when the user operates the enter key KY4 while the cursor icon is displayed on the background. This includes a case where the display position of the cursor icon when the user operates the enter key KY4 in a state where the background object is not displayed is within the area masked by the background object.
[0233]
First, in step 3201, it is determined whether or not the color code on the background on which the cursor icon is displayed when the user operates the enter key KY4 is 1 (outline). If the color code is 1, the series of processing is terminated. Otherwise, the processing proceeds to step 3202.
[0234]
As shown in FIG. 11A, the background is composed of a plurality of portions (areas). In step 3202, the background portion (region) where the cursor icon is displayed is obtained, and the RGB data set in the cursor icon color code 245 is used as the color of the background portion (region) where the cursor icon is displayed. Set as code RGB data. The set RGB data is stored as RGB data of the color code of the CLT unit 207 in the VDP 105, and the set is converted into RGB data for each color code stored in the work RAM 103 for control management. Against. After the RGB data setting is completed, a series of processing is completed.
[0235]
Each change process shown in FIGS. 26 to 32 is executed when the enter key KY4 is operated. For this reason, the user can set a drawing color to the cursor icon at any time and change the partial image to a desired drawing color regardless of whether or not animation reproduction is performed. Thereby, the color designation work of the partial image is simplified, and the work can be completed in a short time.
[0236]
Next, the animation process executed as step 1619 in FIG. 16 will be described in detail with reference to the operation flowchart shown in FIGS. This animation process is a process for reproducing an animation according to the animation data and movement amount data of each partial image shown in FIGS. 4 and 5 when the animation mode is being reproduced. This animation process is performed every animation frame, that is, every 1/60 seconds.
[0237]
First, in step 3301, the current animation mode is determined. This determination is performed by reading out an animation mode (see FIG. 9) constituting the animation management data stored in the work RAM 103. If the animation mode is being reproduced, the process proceeds to step 3302, and if it is paused, the series of processes is ended here.
[0238]
In steps 3302 to 3315, processing related to character display is performed. As described above, the animation process is performed for each animation frame, and the waiting time in the character's animation data, movement amount data, etc. is a value based on the animation frame period, and is stored in the work RAM 103. The movement amount counter and the animation counter constituting the character management data are decremented, and processing is performed according to the value after each decrement of each counter.
[0239]
First, in step 3302, the movement amount counter is decremented. In the next step 3303, it is determined whether or not the value of the movement amount counter after the decrement is zero. If the value of the movement amount counter is greater than 0, the determination is no and the process moves to step 3309. Otherwise, the determination is yes and the process moves to step 3304.
[0240]
When the value of the movement amount counter becomes 0, it means that it is necessary to move the character. In step 3304, the movement amount data number stored in the work RAM 103 is viewed, and the movement amount data in the X and Y directions, which is data in the movement amount data (see FIG. 4B) indicated by the number, is obtained. Are added to the X and Y coordinates of the current character stored in. The X and Y coordinates are data indicating the display position of the character stored in the OAM unit 205 or to be stored.
[0241]
In step 3305 following step 3304, the waiting time constituting the movement amount data is set in the movement amount counter constituting the character management data. When the setting of the waiting time to the movement amount counter is finished, next, in step 3306, the movement amount data number is advanced (in the present embodiment, 3 is added), and the value is updated. Thereafter, the process proceeds to step 3307.
[0242]
In step 3307, it is determined whether or not the data indicated by the updated movement amount data number is a “return to the beginning” command (see FIG. 4B). If the data is a “return to the beginning” command, the determination is YES, and the process proceeds to step 3308. Otherwise, the determination is no and the process moves to step 3309. In step 3308, the movement amount data number is set to the top data number, that is, 0 in accordance with the command. Thereafter, the process proceeds to step 3309.
[0243]
Steps 3302 to 3308 described above are processes for determining the character display position. In subsequent steps 3309 to 3315, processing for determining a character to be displayed is performed.
[0244]
First, in step 3309, the animation counter is decremented. In the following step 3310, it is determined whether or not the value of the animation counter after the decrement is zero. If the value of the animation counter is greater than 0, the determination is no and the process moves to step 3316. Otherwise, the determination is yes and the process moves to step 3311.
[0245]
When the value of the animation counter becomes 0, it means that it is necessary to switch the display of the character to be displayed as described above. In step 3311, the animation data number constituting the character management data stored in the work RAM 103 is viewed, and an image (graphic) to be newly written to the SRAM 106 from the data in the animation data of FIG. Identify the data.
[0246]
In step 3312 following step 3311, the waiting time in the animation data corresponding to the image (graphic) data is set in the animation counter. When the setting of the waiting time to the animation counter is completed, next, in step 3313, the animation data number is advanced (in the present embodiment, 2 is added) and updated. Thereafter, the process proceeds to step 3314.
[0247]
In step 3314, it is determined whether the data indicated by the updated animation data number is a “return to the beginning” command (see FIG. 4A). If the data is a “return to the beginning” command, the determination is yes and the process proceeds to step 3315. Otherwise, the determination is no and the process moves to step 3316. In step 3315, the animation data number is set to the top data number, that is, 0 in accordance with the command. Thereafter, the process proceeds to step 3316.
[0248]
In steps 3316 to 3325, processing relating to display of the background object is performed. Since the animation process is performed for each animation frame, the animation counter (see FIG. 9) of the background object management data stored in the work RAM 103 is decremented, and the animation counter value after the decrement is obtained. It is done according to the contents.
[0249]
First, in step 3316, the animation counter is decremented. In the subsequent step 3317, it is determined whether or not the value of the animation counter after the decrement is zero. If the value of the animation counter is greater than 0, the determination is no and the process proceeds to step 3326 in FIG. Otherwise, the determination is yes and the process moves to step 3318.
[0250]
When the value of the animation counter becomes 0, it means that it is necessary to switch the display of the background object to be displayed as described above. In addition, there is a period during which the background object is not displayed during animation playback. Therefore, in step 3318, the animation data number constituting the background object management data stored in the work RAM 103 is viewed, and the data in the animation data in FIG. 5A indicated by the number is “not displayed”. Determine whether the command. If the data is a “not display” command, the determination is yes and the process proceeds to step 3319. Otherwise, the determination is no and the process moves to step 3320.
[0251]
In step 3319, in order to hide the background object, the X and Y coordinates of the background object stored in the work RAM 103 are set to values outside the screen. Thereafter, the process proceeds to step 3322. The X and Y coordinates stored in the work RAM 103 are data indicating the display position of the background object stored in the OAM unit 205 or to be stored.
[0252]
On the other hand, in step 3320, since the background object is displayed, the X and Y coordinates of the background object stored in the work RAM 103 are set to predetermined values. In the subsequent step 3321, the image (graphic) data of the background object to be displayed next is specified from the animation data number. Thereafter, the process proceeds to step 3322.
[0253]
The image (graphic) data specified in step 3321 is read from the program / data ROM 102 and transferred to the VDP 105 in step 1620 of FIG. The image (graphic) data is written into the SRAM 106 by the VDP 105.
[0254]
In step 3322, the waiting time of the image (graphic) data specified in step 3321 is set in the animation counter. In the following step 3323, the animation data number is advanced (2 is added), and the data number is updated. Thereafter, the process proceeds to step 3324.
[0255]
In step 3324, it is determined whether or not the data in the animation data indicated by the animation data number updated in step 3323 is a “return to the beginning” command (see FIG. 5A). If the data is a “return to the beginning” command, the determination is yes and the process proceeds to step 3325. Otherwise, the determination is no and the process proceeds to step 3326 in FIG. In step 3325, the animation data number is set to the top data number, that is, 0 in accordance with the command. Thereafter, the process proceeds to step 3326 in FIG.
[0256]
In steps 3326 to 3335 shown in FIG. 34, processing relating to display of balloons is performed. By performing these processes, the display switching of the balloon frame based on the animation data of FIG. 5B is realized.
[0257]
First, in step 3326, the X and Y coordinates stored in the storage area of the OAM unit 205 assigned to the balloon characters are predetermined with respect to the next display position (X, Y coordinates) of the character determined in step 3304, for example. It is set to the value obtained by performing the arithmetic processing. The X and Y coordinates set by executing this step 3326 are for one character. In this embodiment, since eight balloon characters can be displayed, in this step 3326, the number of executions is counted, and the X and Y coordinates of the balloon characters corresponding to the count value are set.
[0258]
In step 3327 following step 3326, it is determined whether or not the X and Y coordinates for 8 characters have been set. When the X and Y coordinates are set for all the balloon characters to be displayed, the determination is YES and the process proceeds to step 3328. Otherwise, the determination is no and the process returns to step 3326.
[0259]
In step 3328, the X and Y coordinates stored in the storage area assigned to the balloon frame of the OAM unit 205 are set to the next display position (X, Y) determined in step 3304 as in the case of the balloon character, for example. Set to a value obtained by performing predetermined arithmetic processing on (coordinates). Thereafter, the process proceeds to step 3329.
[0260]
Steps 3326 to 3328 described above are processes related to display of balloon characters. In subsequent steps 3329 to 3335, processing relating to display of the blowing frame is performed.
[0261]
First, in step 3329, the animation counter (see FIG. 9) stored in the work RAM 103 as one of the blowing management data is decremented. In the following step 3330, it is determined whether or not the value of the animation counter after the decrement is zero. If the value of the animation counter is greater than 0, the determination is no and the process moves to step 3336. Otherwise, the determination is yes and the process moves to step 3331.
[0262]
When the value of the animation counter becomes 0, it means that it is necessary to switch the display of the blowing frame to be displayed as described above. In step 3331, the animation data number constituting the blowing management data stored in the work RAM 103 is viewed, and the image (graphic) to be newly written to the SRAM 106 from the data in the animation data of FIG. 5B indicated by the number. Identify the data.
[0263]
In step 3332 following step 3331, the waiting time in the animation data corresponding to the image (graphic) data is set in the animation counter. When the setting of the waiting time to the animation counter is finished, next, in step 3333, the animation data number is advanced (added 2) and updated. Thereafter, the process proceeds to step 3334.
[0264]
In step 3334, it is determined whether or not the data indicated by the updated animation data number is a “return to the beginning” command (see FIG. 5B). If the data is a “return to the beginning” command, the determination is yes and the process proceeds to step 3335. Otherwise, the determination is no and the process moves to step 3336. In step 3335, the animation data number is set to the top data number, that is, 0 in accordance with the command. Thereafter, the process proceeds to step 3336.
[0265]
In step 3336, the animation frame number stored in the work RAM 103 as one piece of animation management data is incremented. After the increment of the animation frame number is finished, the series of processes is finished.
[0266]
As described above, after the animation process which is step 1619 in FIG. 16 is completed, in step 1620, image (graphic) data to be stored in the SRAM 106 is stored, and attribute data is stored in the OAM unit 205 in the VDP 105. The RGB data is stored in the CLT unit 207 in the VDP 105.
・ Modification
In the present embodiment, since a plurality of characters and background objects are prepared in order to express the motion of the character and a part of the background, for example, in the character, each of the plurality of characters constituting each character A common color code is assigned to each portion (area). In other words, a common color code is assigned to each type of partial image. However, the present invention is not limited to this, and can be widely applied. For example, in the case of an image having a tree and a water surface in which the tree is reflected, the tree and the tree reflected in the water surface are classified as the same group, and the drawing color is changed for one of them. Accordingly, the other drawing color may be changed accordingly. In such a case, the drawing colors are not necessarily the same.
[0267]
Further, in this embodiment, in order to express the movement of the character itself, display switching of the entire character is performed, but a plurality of objects for masking a part of the character, such as a background object in the background, are prepared, The movement of the character itself may be expressed by switching the display of the object. In this case, the color code assigned to the object may be a color code corresponding to that of the character, and the application of the present invention is easy. This is the same even when a method is adopted in which a plurality of display screens are prepared and the operation of the objects in the display screen is expressed by switching the display of the display screens.
[0268]
In this embodiment, a control pad is used as the input device 104, and a user operates various keys provided on the control pad 104 to set an arbitrary drawing color to a desired partial image. However, an icon or the like may be further displayed on the display screen so that all operations can be performed only with a pointing device such as a mouse. On the contrary, all the operations may be performed with the keys provided on the control pad 104.
[0269]
In this embodiment, the user can use only palettes (pallet icon group) prepared in advance in the program / data ROM 102, but the user can freely set the drawing color (RGB data) of each palette icon. Anyway. For animation data, movement amount data, etc. that determine the operation of each partial image, for example, a plurality of them may be prepared so that the user can freely select from among them, and the user can freely set these data You may be able to do it. By doing in this way, a wider way of enjoying can be provided to the user.
<Second Embodiment>
Outline of the second embodiment
In the first embodiment described above, when the user designates a color for a partial image, the drawing color of the partial image is instantaneously reflected on the drawing color designated by the user. In the second embodiment, when the user designates a color, the drawing color of each character, background object, and background partial image is gradually changed from the original drawing color to the designated drawing color. Is. Thereby, the user can confirm the area where the drawing color is changed by designating the color. In addition, a visual effect can be provided to the user depending on the state of the change.
[0270]
In the second embodiment, the above-described effects can be obtained as compared with the first embodiment, but the configuration and the operation of each part are substantially the same as those in the first embodiment. For this reason, only a different part from 1st Embodiment is demonstrated.
-Outline operation of CPU 101
FIG. 35 is a configuration diagram of pallet management data. This palette management data is data stored in the work RAM 103. In the first embodiment, as shown in FIG. 9, the pallet management data is only the pallet number. FIG. 35 shows pallet management data for the amount added thereto.
[0271]
The palette management data added in the second embodiment includes a color change counter, final R component data, final G component data, final B component data, R component displacement amount, G component displacement, as shown in FIG. And a B component displacement amount.
[0272]
The color change counter is used to count the time (number of animation frames) from when the drawing color is specified until the actually specified drawing color is reflected. When the drawing color is specified, the change is reflected. Color change time until it is set is set. The color change time set in the color change counter is data prepared in advance in the program / data ROM 102 or a value set by the user.
[0273]
The final R component data, the final G component data, and the final B component data are obtained by dividing the drawing color RGB data designated by the user into RGB components. The R component displacement amount, the G component displacement amount, and the B component displacement amount are values that are added to the RGB components of the current drawing color per unit time. The value is a value calculated so that the original drawing color of the color-designated area is changed to the designated drawing color at the color change time set in the color change counter.
[0274]
The current drawing color (RGB data) of each partial image is stored in a predetermined storage area of the work RAM 103 separately from the palette management data. Based on the current drawing color and palette management data, the CPU 101 gradually changes the drawing color of the color-designated area after the color designation is performed.
Detailed operation of CPU 101
The operation of the CPU 101 will be described in detail with reference to the operation flowcharts shown in FIGS. In the second embodiment, the contents of each color changing process in steps 1614, 1616, and 1617 are different from those in the first embodiment in the entire process shown in FIG. Therefore, only these color change processes will be described.
[0275]
FIG. 36 is an operation flowchart of the character color changing process executed as step 1614 of FIG. With reference to FIG. 36, the character color changing process will be described in detail first. The character color changing process is executed when the user operates the enter key KY4 while the cursor icon is displayed on the character.
[0276]
First, in step 3601, it is determined whether or not the color code on the character on which the cursor icon is displayed when the user operates the enter key KY4 is 1 (outline). If the color code is 1, the series of processing is terminated. Otherwise, the processing proceeds to step 3602.
[0277]
In steps 3602 to 3605, settings are made for the pallet management data shown in FIG.
First, in step 3602, the color change time is set in the color change counter. In the subsequent step 3603, the drawing color designated by the user, that is, the drawing color (RGB data) of the color code 245 assigned to the cursor icon is divided into RGB components, and these components are final R component data and final G component data. , And final B component data. Thereafter, the process proceeds to step 3604.
[0278]
In step 3604, the drawing color (RGB data) currently set in the character portion (area) designated by the user is divided into RGB components. The currently set drawing color is obtained by reading the corresponding drawing color (RGB data) from the work RAM 103, and the RGB data is the same as that currently stored in the CLT unit 207 in the VDP 105. It is.
[0279]
In step 3605 following step 3604, the displacement amount of each RGB component per unit time (one animation frame period) is calculated from each RGB component obtained in the above steps 3603 and 3604, and these are calculated as pallet management data. Set as an R component displacement amount, a G component displacement amount, and a B component displacement amount, respectively. After this is completed, the process proceeds to step 3606.
[0280]
In steps 3606 to 3612, processing for gradually changing the drawing color of the designated character portion (area) is performed in accordance with the various conditions set in steps 3602 to 3605. Steps 3606 to 3612 are repeatedly executed at a frequency of once every animation frame period (1/60 seconds) while decrementing the color change counter.
[0281]
First, in step 3606, the RGB component displacement amounts set in step 3605 are added to the respective RGB components of the drawing color currently set in the designated character portion (area).
[0282]
In step 3607 following step 3606, the RGB components calculated in step 3606 and the final RGB components set in step 3603 are compared for each component, and any of the RGB components calculated in step 3606 corresponds to step 3603. It is determined whether or not the final RGB components set in step 1 have been exceeded. If at least one of the RGB components calculated in step 3606 has a value greater than the final value (final RGB component), the determination is YES and the process proceeds to step 3608. To do. Otherwise, the determination is no and the process moves to step 3609. In step 3608, the component exceeding the final value (final RGB components) is set to the final value (final RGB components), and the RGB data to be written in the CLT unit 207 is reset.
[0283]
The RGB data calculated in step 3606 or the RGB data reset in step 3608 is stored in the work RAM 103 in place of the RGB data of the drawing color so far, and transferred to the CLT unit 207 in the VDP 105 as will be described later. Is done.
[0284]
In step 3609, animation processing is executed. This animation process is the same as that executed as step 1619 in FIG. By executing this animation process, animation reproduction proceeds.
[0285]
In step 3610 following step 3609, data to be transferred to the VDP 105 generated by executing steps 3606 to 3609 is transferred after a vertical blank period (see FIG. 13). By executing this process, RGB data newly set as RGB data of the color data in the area specified by the user is written in the corresponding storage area of the CLT unit 207 in the VDP 105, and the displayed drawing color changes. Will do.
[0286]
In step 3611 following step 3610, the color change counter is decremented. In the following step 3612, it is determined whether or not the color change counter after decrement is zero. If the color change time has not elapsed since the user specified the color, the determination is no and the process returns to step 3606. If not, that is, if the color change time has elapsed since the user specified the color, the determination is YES and the series of processing ends.
[0287]
FIG. 37 is an operation flowchart of the background object color changing process executed as step 1616 of FIG. Next, the background object color changing process will be described in detail with reference to FIG. The background object color changing process is executed when the user operates the enter key KY4 while the cursor icon is displayed on the background object.
[0288]
When the background object is not displayed and the user operates the enter key KY4 while the cursor icon is displayed in the area masked by the background object, the background object color changing process is executed. Instead, a background color changing process described later is executed.
[0289]
First, in step 3701, it is determined whether or not the color code on the background object on which the cursor icon is displayed when the user operates the enter key KY4 is 1 (outline). If the color code is 1, the series of processing is terminated. Otherwise, the processing proceeds to step 3702.
[0290]
In steps 3702 to 3705, settings are made for the pallet management data shown in FIG.
First, in step 3702, the color change time is set in the color change counter. In the subsequent step 3703, the drawing color designated by the user, that is, the drawing color (RGB data) of the color code 245 assigned to the cursor icon is divided into RGB components, and these components are the final R component data of the palette management data. , Final G component data, and final B component data (see FIG. 35). Thereafter, the process proceeds to step 3704.
[0291]
In step 3704, the drawing color (RGB data) currently set in the character portion (area) specified by the user is divided into RGB components. The currently set drawing color is obtained by reading the corresponding drawing color (RGB data) from the work RAM 103, and the RGB data is the same as that currently stored in the CLT unit 207 in the VDP 105. It is.
[0292]
In step 3705 following step 3704, the displacement amount of each RGB component per unit time (one animation frame period) is calculated from each RGB component obtained in steps 3703 and 3704, and these are calculated as palette management data. The R component displacement amount, the G component displacement amount, and the B component displacement amount (see FIG. 35) are set. After this is completed, the process proceeds to step 3706.
[0293]
In steps 3706 to 3712, processing for adding a visual effect that gradually changes the drawing color of the portion (area) of the designated background object is performed in accordance with the various conditions set in steps 3702 to 3705. Steps 3706 to 3712 are repeatedly executed at a frequency of once every one animation frame period (1/60 seconds) while decrementing the color change counter.
[0294]
First, in step 3606, the RGB component displacement amounts set in step 3705 are added to the respective RGB components of the drawing color currently set in the designated background object portion (area).
[0295]
In Step 3707 following Step 3706, the RGB components calculated in Step 3706 and the final RGB components set in Step 3703 are compared for each component, and any of the RGB components calculated in Step 3706 corresponds to Step 3703 corresponding thereto. It is determined whether or not the final RGB components set in step 1 have been exceeded. If any of the RGB components calculated in step 3706 has a value greater than its final value (final RGB component), the determination is YES and the process proceeds to step 3708. To do. Otherwise, the determination is no and the process moves to step 3709. In step 3708, the component exceeding the final value (final RGB components) is set to the final value (final RGB components), and the RGB data to be written in the CLT unit 207 is reset.
[0296]
The RGB data calculated in step 3706 or the RGB data reset in step 3708 is stored in the work RAM 103 in place of the RGB data of the previous drawing color, and transferred to the CLT unit 207 in the VDP 105 as will be described later. Is done.
[0297]
In step 3709, animation processing is executed. This animation process is the same as that executed as step 1619 in FIG. By executing this animation process, animation reproduction proceeds.
[0298]
In step 3710 following step 3709, data to be transferred to the VDP 105 generated by executing steps 3706 to 3709 is transferred after a vertical blank period (see FIG. 13). By executing this process, RGB data newly set as RGB data of the color data in the area specified by the user is written in the corresponding storage area of the CLT unit 207 in the VDP 105, and the displayed drawing color changes. Will do.
[0299]
In step 3711 following step 3710, the color change counter is decremented. In the following step 3712, it is determined whether the color change counter after decrement is 0 or not. If the color change time has not elapsed since the user specified the color, the determination is no and the process returns to step 3706. If not, that is, if the color change time has elapsed since the user specified the color, the determination is YES and the series of processing ends.
[0300]
FIG. 38 is an operation flowchart of the background color changing process executed as step 1617 of FIG. Next, the background color changing process will be described in detail with reference to FIG. The background color changing process is executed when the user operates the enter key KY4 while the cursor icon is displayed on the background object. Further, as described above, when the background object is not displayed, this color change processing is also performed when the user operates the enter key KY4 while the cursor icon is displayed in the area masked by the background object. Executed.
[0301]
First, in step 3801, it is determined whether or not the color code on the background on which the cursor icon is displayed when the user operates the enter key KY4 is 1 (outline). If the color code is 1, the series of processing is terminated. Otherwise, the processing proceeds to step 3802.
[0302]
In steps 3802 to 3805, settings are made for the pallet management data shown in FIG.
First, in step 3802, the color change time is set in the color change counter. In the subsequent step 3803, the drawing color designated by the user, that is, the drawing color (RGB data) of the color code 245 assigned to the cursor icon is divided into RGB components, and these components are final R component data and final G component data. , And final B component data. Thereafter, the process proceeds to step 3804.
[0303]
In step 3804, the drawing color (RGB data) currently set in the character portion (area) specified by the user is divided into RGB components. The currently set drawing color is obtained by reading the corresponding drawing color (RGB data) from the work RAM 103, and the RGB data is the same as that currently stored in the CLT unit 207 in the VDP 105. It is.
In step 3805 following step 3804, the displacement amount of each RGB component per unit time (one animation frame period) is calculated from each RGB component obtained in steps 3803 and 3804, and these are calculated as palette management data. Set as an R component displacement amount, a G component displacement amount, and a B component displacement amount, respectively. After this is completed, the process proceeds to step 3806.
[0304]
In steps 3806 to 3812, processing for gradually changing the drawing color of the designated background portion (area) is performed in accordance with the various conditions set in steps 3802 to 3805. Steps 3806 to 3812 are repeatedly executed at a frequency of once every animation frame period (1/60 seconds) while decrementing the color change counter.
[0305]
First, in step 3806, the RGB component displacement amounts set in step 3805 are added to the RGB components of the drawing color currently set in the designated background portion (area) in association with each other.
[0306]
In step 3807 following step 3806, the RGB components calculated in step 3806 and the final RGB components set in step 3803 are compared for each component, and any of the RGB components calculated in step 3806 corresponds to step 3803. It is determined whether or not the final RGB components set in step 1 have been exceeded. If any of the RGB components calculated in step 3806 has a value greater than the final value (final RGB component), the determination is YES and the process proceeds to step 3808. To do. Otherwise, the determination is no and the process moves to step 3809. In step 3808, the component exceeding the final value (final RGB components) is set to the final value (final RGB components), and the RGB data to be written in the CLT unit 207 is reset.
[0307]
The RGB data calculated in step 3806 or the RGB data reset in step 3808 is stored in the work RAM 103 in place of the RGB data of the previous drawing color, and transferred to the CLT unit 207 in the VDP 105 as will be described later. Is done.
[0308]
In step 3809, animation processing is executed. This animation process is the same as that executed as step 1619 in FIG. By executing this animation process, animation reproduction proceeds.
[0309]
In step 3810 following step 3809, data to be transferred to the VDP 105 generated by executing steps 3806 to 3809 is transferred after a vertical blank period (see FIG. 13). By executing this process, RGB data newly set as RGB data of the color data in the area specified by the user is written in the corresponding storage area of the CLT unit 207 in the VDP 105, and the displayed drawing color changes. Will do.
[0310]
In step 3811 following step 3810, the color change counter is decremented. In the following step 3812, it is determined whether or not the color change counter after decrement is zero. If the color change time has not elapsed since the user specified the color, the determination is no and the process returns to step 3806. If not, that is, if the color change time has elapsed since the user specified the color, the determination is YES and the series of processing ends.
・ Modification
In the second embodiment, the drawing color of the designated area is gradually changed to the designated drawing color, but the method of changing the drawing color is not limited to this. For example, after gradually changing the drawing color of the specified area to another drawing color that is not specified, specify it through multiple steps so that it gradually changes from that drawing color to the specified drawing color. The drawn color may be changed.
[0311]
Furthermore, instead of gradually changing the drawing color of the area to the designated drawing color, the user can set, for example, a plurality of predetermined drawing colors for the area in accordance with a predetermined order. A desired visual effect may be applied to the area designated by. In the present embodiment, partial images are grouped by type, and each partial image belonging to the group is configured so that, for example, the color code assigned to hair is unified to 2 (see FIG. 10). Since the same color code is assigned to each portion (area), it is easy to apply various visual effects.
<Third Embodiment>
Outline of the third embodiment
In the first embodiment described above, for example, taking a character as an example, the portion (area) of hair, skin, clothes, etc. constituting the character is color code 2 for hair, color code 3 for skin, There is one color code assigned to the portion (area) where the color can be specified. When such color code assignment is performed, the displayed image cannot have a stereoscopic effect. In the third embodiment, such a problem that the first embodiment has is avoided, and the display image has a three-dimensional effect.
[0312]
The configuration of the third embodiment and the operation of each part are almost the same as those of the first embodiment. For this reason, only the part changed from 1st Embodiment is demonstrated.
[0313]
FIG. 39 is a diagram showing color codes assigned to each part (region) of the partial image. FIG. 4A shows the character, and FIG. 4B shows the color code assigned to each part (area) of the background object.
[0314]
As shown in FIG. 39 (a), in the third embodiment, a three-dimensional effect is obtained by providing a gradation of light, medium, and dark on the hair of the character and assigning different color codes to each stage. Is given. For this reason, as shown in FIG. 40A, a storage area for character drawing RGB data is allocated to the CLT unit 207 in the VDP 105, and the set RGB data is stored there.
[0315]
In order to give the other background object a three-dimensional effect, the smoke is provided with a gradation of light, medium and dark as shown in FIG. 39 (b), and a different color code is assigned to each stage. Yes. For this reason, as shown in FIG. 40B, the CLT unit 207 in the VDP 105 is assigned a storage area for background drawing RGB data shared with the background object, and the set RGB data is stored there. The
[0316]
Although description of the color code assignment for the other portions is omitted, a plurality of color codes are assigned to the other portions so as to provide, for example, a three-step gradation in the pond constituting the background. .
[0317]
For example, when the hair is further divided into portions (regions) to which gradations of light, medium, and dark are given, such as a character's hair, in the first embodiment, the further divided portions The drawing color must be specified for each (area). However, in this case, the work for the user to specify a desired drawing color for each partial image becomes complicated, and the time required for the work becomes very long. The same applies to images in which many types of partial images are displayed.
[0318]
In the third embodiment, in order to avoid the above problems, color codes 2 to 4 (see FIG. 39 (a)) are assigned to each part (area) constituting the partial image, for example, in the case of character hair. The parts (areas) that are included are grouped as necessary so that if any part of the group is designated as a color, the drawing colors of the parts (areas) that belong to the group are combined. I am trying to change it.
[0319]
As described in the first embodiment, the drawing color is selected from a palette (pallet icon group). For this reason, in the third embodiment, as shown in FIG. 41, palette data in which three RGB data are set for each selected color is prepared in the program / data ROM 102. For example, the palette number is # 0. When the user designates the selected color 0 as the drawing color of the character's hair, the light RGB data of the selected color 0 is set to the color code 2, and similarly, the middle RGB data is the color code 3 and the dark RGB data. Are set to color code 4, respectively. As a result, the color designation of one part (area) in which gradation is formed can be performed by one color designation, and even in an image in which there are many color-designable areas having a stereoscopic effect, Color designation can be performed easily and in a short time.
[0320]
By the way, as explained in the first embodiment, partial images are divided into groups according to their types, and the color codes assigned to the respective parts (regions) constituting the partial images are unified to the same value. The color designation made for the image is reflected in the other partial images to which the group belongs. In order to distinguish from the group divided according to the type of partial image, hereinafter, the group divided within the partial image will be referred to as a subgroup.
[0321]
In addition, the palette data is not only prepared in advance in the program / data ROM 102, but for example, the user can arbitrarily set the drawing data, or the user can select a drawing color to be set as one selection color from among drawing colors prepared in advance. You may be able to do it.
Detailed operation of CPU 101
The operation of the CPU 101 will be described in detail with reference to each operation flowchart shown in FIGS. In the third embodiment, the contents of each subroutine process in steps 1601, 1606, 1608, 1614, 1616, and 1617 in the entire process shown in FIG. 16 are different from those in the first embodiment. Therefore, only these subroutine processes will be described.
[0322]
FIG. 42 is an operation flowchart of the initial process executed as step 1601 shown in FIG. With reference to FIG. 42, the initial process will be described in detail first.
[0323]
First, in step 4201, initialization of the OAM unit 205 and the like in the VDP 105 is performed. When this initialization is completed, next, in step 4202, the animation mode is set to pause, and in the subsequent step 4203, the animation frame number is set to zero. When the processes in steps 4202 and 4203 are executed, a value indicating 0 is set and 0 is set as data in the animation management data stored in the work RAM 103, that is, the animation mode and the animation frame number. .
[0324]
In step 4204 following step 4203, an animation initial process is performed in which the character is arranged at the display position indicated by the initial position data in FIG. This animation initial process is the same as that of the first embodiment shown in FIG. 18 (for this reason, detailed description is omitted). After this process is completed, the process proceeds to step 4205.
[0325]
In step 4205, an animation initial process for arranging the background object according to the animation data of FIG. 5A is executed. This animation initial process is the same as that of the first embodiment shown in FIG. 19 (for this reason, detailed description is omitted). In step 4206 following this process, an animation initial process for arranging the balloons in accordance with the display position of the character is executed. This animation initial process is the same as that of the first embodiment shown in FIG. 20 (for this reason, detailed description thereof is omitted) as described above. After this process is completed, the process proceeds to step 4207.
[0326]
In steps 4207 to 4211, the drawing color (RGB data) corresponding to each color code assigned to the outline, character, background, balloon, and balloon is set. Specifically, black is set for outlines and balloon characters, and white is set for all others. With this setting, the initial screen has a white background as a background, and the outlines and balloon characters of each partial image are drawn in black on the background.
[0327]
In steps 4212 to 4215 subsequent to step 4211, processing related to display of the palette and the cursor icon is performed. By performing these processes, the palette (pallet icon group) and the cursor icon are initially displayed in a preset drawing color.
[0328]
First, in step 4212, 0 is set to the pallet number (see FIG. 9) which is pallet management data. In the next step 4213, the selected color (three RGB data are set for each selected color) assigned to each palette icon with the palette number 0 is read from the program / data ROM 102 (see FIG. 41). Among the selected colors, the RGB data set as medium is extracted, and the extracted RGB data is set as RGB data to be stored in the color codes 246 to 255 of the CLT unit 207. Thereafter, the process proceeds to step 4214.
[0329]
In step 4214, the selected color number is set to zero. The selected color number is data indicating RGB data to be set in the color code 245 assigned to the cursor icon, and is not particularly shown, but is stored in the work RAM 103 as one of pallet management data. In the following step 4215, the RGB data of the color code 246 (selected color 0) set in step 4213 is set to the RGB data of the color code 245 assigned to the cursor icon according to the value of 0 set in the selected color number. .
[0330]
In step 4216 following step 4215, processing for transferring image (graphic) data to be transferred to the SRAM 106 and data to be written in the OAM unit 205 and CLT unit 207 in the VDP 105 after waiting for a vertical blank period (see FIG. 13). Do. The image (graphic) data to be transferred to the SRAM 106 and the data to be written to the OAM unit 205 and the CLT unit 207 in the VDP 105 are generated as a result of executing the processing of steps 4204 to 4215 described above. When the process of step 4216 ends, a series of processes ends.
[0331]
FIG. 43 is an operation flowchart of the drawing color changing process executed as step 1606 of FIG. Next, the drawing color changing process will be described in detail with reference to FIG. In this drawing color changing process, the drawing color of the cursor icon (the color code is 245 as shown in FIG. 12C) is changed to the drawing color designated by the user from the palette (pallet icon group). It is processing to do. This is executed when the user operates the enter key KY4 while the cursor icon is displayed on the palette (palette icon group).
[0332]
First, in step 4301, the color code on the palette icon on which the cursor icon is displayed when the user operates the enter key KY4 is determined. As shown in FIG. 12B, color codes 246 to 255 are assigned to the palette (pallet icon group). For this reason, if the color code of the palette icon on which the cursor icon is displayed is one of 246 to 255, the process proceeds to step 4302; otherwise, the series of processes is terminated.
[0333]
In step 4302, based on the palette number (see FIG. 9) stored in the work RAM 103 and the color code determined in step 4301, the corresponding RGB data is read from the RGB data for each color code stored in the work RAM 103. The RGB data is set as RGB data of the color code 245 of the CLT unit 207 in the VDP 105. This set of RGB data is performed on the RGB data for each color code stored in the work RAM 103.
[0334]
In step 4303 following step 4302, the number of the selected color corresponding to the color code is set as the selected color number from the color code determined in step 4301. Thereafter, the series of processing is terminated.
[0335]
FIG. 44 is an operation flowchart of the palette changing process executed as step 1608 in FIG. Next, with reference to FIG. 44, the palette changing process according to the third embodiment will be described in detail.
[0336]
As described above, this palette change process is executed when the user operates the enter key KY4 while the cursor icon is displayed on the palette change icon.
[0337]
First, in step 4401, the pallet number stored in the work RAM 103 is updated. This update is performed by, for example, incrementing the value up to that point, and setting the value to 0 when the value becomes larger than the maximum value of the palette number by this increment.
[0338]
In step 4402 following step 4401, RGB data set as medium is extracted from the RGB data of each selected color in the pallet data indicated by the pallet number updated in step 4401, and the extracted RGB data is stored in the VDP 105. It is set as RGB data of color codes 246 to 255 of the CLT unit 207. This RGB data set is performed on the RGB data for each color code stored in the work RAM 103. After the RGB data setting is completed, a series of processing is completed.
[0339]
FIG. 45 is an operation flowchart of the character color changing process executed as step 1614 of FIG. Next, the character color changing process according to the third embodiment will be described in detail with reference to FIG. The character color changing process is executed when the user operates the enter key KY4 while the cursor icon is displayed on the character.
[0340]
First, in step 4501, it is determined whether or not the color code on the character on which the cursor icon is displayed when the user operates the enter key KY4 is 1 (outline). If the color code is 1, the series of processing is terminated. Otherwise, the processing shifts to step 4502.
[0341]
In step 4502, the palette number (see FIG. 9) stored in the work RAM 103 and the three RGB data of light, medium, and dark of the selected color in the palette data specified from the selected color number are, for example, program / data. The data is read from the ROM 102, and the read three RGB data are respectively set to RGB data of the color code assigned to each part (area) constituting the subgroup to which the color designated part (area) belongs. This RGB data set is performed on the RGB data for each color code stored in the work RAM 103. After the RGB data set is completed, the series of processes is terminated.
[0342]
FIG. 46 is an operation flowchart of the character color changing process executed as step 1614 in FIG. Next, the character color changing process according to the third embodiment will be described in detail with reference to FIG. The character color changing process is executed when the user operates the enter key KY4 while the cursor icon is displayed on the character.
[0343]
First, in step 4501, it is determined whether or not the color code on the character on which the cursor icon is displayed when the user operates the enter key KY4 is 1 (outline). If the color code is 1, the series of processing is terminated. Otherwise, the processing shifts to step 4502.
[0344]
In step 4502, the palette number (see FIG. 9) stored in the work RAM 103 and the three RGB data of light, medium, and dark of the selected color in the palette data specified from the selected color number are, for example, program / data. The data is read from the ROM 102, and the read three RGB data are respectively set to RGB data of the color code assigned to each part (area) constituting the subgroup to which the color designated part (area) belongs. This RGB data set is performed on the RGB data for each color code stored in the work RAM 103. After the RGB data set is completed, the series of processes is terminated.
[0345]
FIG. 46 is an operation flowchart of the background object color changing process executed as step 1616 of FIG. Next, the background object color changing process according to the third embodiment will be described in detail with reference to FIG.
[0346]
As described above, the background object color changing process is executed when the user operates the enter key KY4 in a state where the cursor icon is displayed on the background object.
[0347]
First, in step 4601, it is determined whether or not the color code on the background object on which the cursor icon is displayed when the user operates the enter key KY4 is 1 (outline). If the color code is 1, the series of processing is terminated, and if not, the processing proceeds to step 4602.
[0348]
For example, as shown in FIG. 39B, the smoke of the background object is composed of a plurality of portions (areas). In step 4602, the palette number (see FIG. 9) stored in the work RAM 103 and the three RGB data of light, medium, and dark of the selected color in the palette data specified from the selected color number are, for example, program / data. The data is read from the ROM 102, and the read three RGB data are respectively set to RGB data of the color code assigned to each part (area) constituting the subgroup to which the color designated part (area) belongs. This RGB data set is performed on the RGB data for each color code stored in the work RAM 103. After the RGB data set is completed, the series of processes is terminated.
[0349]
FIG. 47 is an operation flowchart of the background color changing process executed as step 1617 of FIG. Next, the background color changing process according to the third embodiment will be described in detail with reference to FIG.
[0350]
The background color changing process is executed when the user operates the enter key KY4 while the cursor icon is displayed on the background. This includes a case where the display position of the cursor icon when the user operates the enter key KY4 in a state where the background object is not displayed is within the area masked by the background object.
[0351]
First, in step 4701, it is determined whether or not the color code on the background on which the cursor icon is displayed when the user operates the enter key KY4 is 1 (outline). If the color code is 1, the series of processing is terminated, and if not, the processing proceeds to step 4702.
[0352]
In step 4702, the three RGB data of light, medium and dark of the selected color in the palette data specified from the palette number (see FIG. 9) stored in the work RAM 103 and the selected color number are, for example, program / data. The data is read from the ROM 102, and the read three RGB data are respectively set to RGB data of the color code assigned to each part (area) constituting the subgroup to which the color designated part (area) belongs. This RGB data set is performed on the RGB data for each color code stored in the work RAM 103. After the RGB data set is completed, the series of processes is terminated.
・ Modification
In the third embodiment, for example, when a part (area) to which one color code is assigned in the first embodiment is divided like the hair of a character (see FIG. 39A), Although the number of divisions is unified to 3, the number of divisions, that is, the number of members constituting the subgroup is not limited thereto. The number of divisions may be an arbitrary value, and the number of divisions may be changed for each part (region). Even when the number of divisions is changed for each part (subgroup), for example, RGB data larger than the maximum number of divisions is set for one selected color, and among them, RGB data assigned to each part (subgroup) is set. By deciding, you can respond to it.
[0353]
In the third embodiment, the RGB data to be displayed as a palette is RGB data set as medium for the selected color (see FIG. 41), but the displayed RGB data is bright or dark. It may be set RGB data. Further, RGB data to be displayed as a palette may be prepared separately from the selected color.
<Fourth embodiment>
Outline of the fourth embodiment
In the third embodiment described above, for example, for each part (area) constituting the hair of the character shown in FIG. (RGB data) can be set. However, in order to realize this, since palette data to which three RGB data consisting of light, medium, and dark for each selected color are assigned is stored in the program / data ROM 102 (see FIG. 41), the palette data There is a problem that a large storage area is required for storage. The fourth embodiment alleviates the above-mentioned problem that the third embodiment has.
[0354]
The configuration of the fourth embodiment and the operation of each part are almost the same as those of the third embodiment. For this reason, only the part changed from 3rd Embodiment is demonstrated.
[0355]
FIG. 48 is a configuration diagram of pallet data stored in the program / data ROM 102.
As shown in FIG. 48, in the fourth embodiment, only two RGB data of light and dark are set for one selected color. The RGB data set as medium in the third embodiment is obtained by interpolating from two RGB data of light and dark, thereby changing the drawing color of each part (area) constituting the subgroup to 1 It can be done by specifying the color of the degree. Therefore, it is possible to reduce the amount of pallet data stored in the program / data ROM 102 while realizing the functions realized in the third embodiment, and to reduce the above problems.
Detailed operation of CPU 101
The operation of the CPU 101 will be described in detail with reference to the operation flowcharts shown in FIGS. In the third embodiment, the contents of each subroutine process in steps 1601, 1608, 1614, 1616, and 1617 in the entire process shown in FIG. 16 are different from those in the first embodiment. Also in the fourth embodiment, the processing of each step number is different from that in the first embodiment. Therefore, only these subroutine processes will be described.
[0356]
FIG. 49 is an operation flowchart of the initial process executed as step 1601 shown in FIG. With reference to FIG. 49, the initial process will be described in detail first.
[0357]
First, in step 4901, the OAM unit 205 and the like in the VDP 105 are initialized. When this initialization is completed, next, in step 4902, the animation mode is set to pause, and in the subsequent step 4903, the animation frame number is set to 0. When the processes in steps 4902 and 4903 are executed, a value indicating 0 is set and 0 is set as data in the animation management data stored in the work RAM 103, that is, the animation mode and the animation frame number. .
[0358]
In step 4904 following step 4903, an animation initial process is performed in which the character is arranged at the display position indicated by the initial position data in FIG. This animation initial process is the same as that of the first embodiment shown in FIG. 18 (for this reason, detailed description is omitted). After this process is completed, the process proceeds to step 4905.
[0359]
In step 4905, an animation initial process for arranging the background object according to the animation data of FIG. 5A is executed. This animation initial process is the same as that of the first embodiment shown in FIG. 19 (for this reason, detailed description is omitted). In step 4906 following this process, an animation initial process for arranging the balloons in accordance with the display position of the character is executed. This animation initial process is also the same as that of the first embodiment shown in FIG. After this process is completed, the process proceeds to step 4907.
[0360]
In steps 4907 to 4911, the drawing color (RGB data) corresponding to each color code assigned to the outline, character, background, balloon, and balloon is set. Specifically, black is set for outlines and balloon characters, and white is set for all others. With this setting, the initial screen has a white background as a background, and the outlines and balloon characters of each partial image are drawn in black on the background.
[0361]
In steps 4912 to 4916 subsequent to step 4911, processing related to display of the palette and the cursor icon is performed. By performing these processes, the palette (pallet icon group) and the cursor icon are initially displayed in a preset drawing color.
[0362]
First, in step 4912, 0 is set to the pallet number (see FIG. 9) which is pallet management data. In the following step 4913, the RGB data of each selected color with the palette number 0 is read from the program / data ROM 102 (see FIG. 48), and interpolation calculation using the bright and dark RGB data set as those selected colors is performed. By doing so, the inside RGB data is created. In the following step 4914, the RGB data in each of the created selected colors is set as RGB data to be stored in the color codes 246 to 255 of the CLT unit 207. Thereafter, the process proceeds to step 4915.
[0363]
In step 4915, the selected color number is set to zero. This selected color number is data indicating RGB data to be set in the color code 245 assigned to the cursor icon, and is stored in the work RAM 103. In the following step 4916, the RGB data set in the color code 246 in step 4914 is set in the RGB data of the color code 945 assigned to the cursor icon according to the value of 0 set in the selected color number.
[0364]
In step 4917 following step 4916, processing for transferring image (graphic) data to be transferred to the SRAM 106 and data to be written in the OAM unit 205 and CLT unit 207 in the VDP 105 after waiting for a vertical blank period (see FIG. 13). Do. The image (graphic) data to be transferred to the SRAM 106 and the data to be written to the OAM unit 205 and the CLT unit 207 in the VDP 105 are generated as a result of executing the processing of steps 4904 to 4916 described above. Waiting for the end of the processing of step 4917, a series of processing ends.
[0365]
FIG. 50 is an operation flowchart of pallet change processing executed as step 1608 in FIG. Next, with reference to FIG. 50, the palette changing process according to the fourth embodiment will be described in detail.
[0366]
As described above, this palette change process is executed when the user operates the enter key KY4 while the cursor icon is displayed on the palette change icon.
[0367]
First, in step 5001, the pallet number stored in the work RAM 103 is updated. This update is performed by, for example, incrementing the value up to that point, and setting the value to 0 when the value becomes larger than the maximum value of the palette number by this increment.
[0368]
In step 5002 following step 5001, for each selected color in the pallet data indicated by the pallet number updated in step 5001, an interpolation operation using the bright and dark RGB data is performed to create the respective RGB data. . In the next step 5003, the RGB data created for each selected color in step 5002 is set as RGB data of the color codes 246 to 255 of the CLT unit 207 in the VDP 105. This RGB data set is performed on the RGB data for each color code stored in the work RAM 103. After the RGB data setting is completed, a series of processing is completed.
[0369]
FIG. 51 is an operation flowchart of the character color changing process executed as step 1614 in FIG. Next, the character color changing process according to the fourth embodiment will be described in detail with reference to FIG. The character color changing process is executed when the user operates the enter key KY4 while the cursor icon is displayed on the character.
[0370]
First, in step 5101, it is determined whether or not the color code on the character on which the cursor icon is displayed when the user operates the enter key KY4 is 1 (outline). If the color code is 1, the series of processing is terminated. Otherwise, the processing proceeds to step 5102.
[0371]
In step 5102, for example, two RGB data of light and dark of the selected color in the pallet data specified from the pallet number, which is the pallet management data stored in the work RAM 103, and the selected color number, for example, program / data By reading out from the ROM 102 and performing an interpolation operation using the two read out RGB data, the internal RGB data is created.
[0372]
In step 5103 following step 5102, the color data obtained in step 5102 is added to the RGB data of the color code assigned to each part (region) constituting the subgroup to which the color-designated portion (region) belongs. Medium and dark RGB data are set. This RGB data set is performed on the RGB data for each color code stored in the work RAM 103. After the RGB data set is completed, the series of processes is terminated.
[0373]
FIG. 52 is an operation flowchart of the background object color changing process executed as step 1616 of FIG. Next, a background object color changing process according to the fourth embodiment will be described in detail with reference to FIG.
[0374]
As described above, the background object color changing process is executed when the user operates the enter key KY4 in a state where the cursor icon is displayed on the background object.
[0375]
First, in step 5201, it is determined whether or not the color code on the background object on which the cursor icon is displayed when the user operates the enter key KY4 is 1 (outline). If the color code is 1, the series of processing is terminated. Otherwise, the processing proceeds to step 5202.
[0376]
In step 5202, for example, two RGB data of light and dark of the selected color in the pallet data specified from the pallet number, which is the pallet management data stored in the work RAM 103, and the selected color number, for example, program / data. By reading out from the ROM 102 and performing an interpolation operation using the two read out RGB data, the internal RGB data is created.
[0377]
In Step 5203 following Step 5202, the color code RGB data assigned to each part (area) constituting the subgroup to which the color-specified part (area) belongs is added to the bright data obtained in Step 5202 above. Medium and dark RGB data are set. This RGB data set is performed on the RGB data for each color code stored in the work RAM 103. After the RGB data set is completed, the series of processes is terminated.
[0378]
FIG. 53 is an operation flowchart of the background color changing process executed as step 1617 of FIG. Next, the background color changing process according to the fourth embodiment will be described in detail with reference to FIG.
[0379]
The background color changing process is executed when the user operates the enter key KY4 while the cursor icon is displayed on the background. This includes a case where the display position of the cursor icon when the user operates the enter key KY4 in a state where the background object is not displayed is within the area masked by the background object.
[0380]
First, in step 5301, it is determined whether or not the color code on the background on which the cursor icon is displayed when the user operates the enter key KY4 is 1 (outline). If the color code is 1, the series of processing is terminated. Otherwise, the processing proceeds to step 5302.
[0381]
In step 5302, for example, two RGB data of light and dark of the selected color in the pallet data specified from the pallet number, which is the pallet management data stored in the work RAM 103, and the selected color number, for example, program / data. By reading out from the ROM 102 and performing an interpolation operation using the two read out RGB data, the internal RGB data is created.
[0382]
In Step 5303 following Step 5302, the RGB data of the color code assigned to each part (area) constituting the subgroup to which the color designated part (area) belongs is added to the bright data obtained in Step 5302 above. Medium and dark RGB data are set. This RGB data set is performed on the RGB data for each color code stored in the work RAM 103. After the RGB data set is completed, the series of processes is terminated.
・ Modification
In the fourth embodiment, only the intermediate RGB data is interpolated from the light and dark RGB data of the selected color, but more RGB data is interpolated from the light and dark RGB data. You may do it. As a result, even if the number of members (number of regions) constituting the subgroup differs for each group, it is possible to flexibly cope with it.
[0383]
【The invention's effect】
As described above, according to the present invention, partial images are grouped, and the drawing colors of the partial images constituting the group are managed in an integrated manner. For this reason, only by changing the drawing color of any partial image, the drawing colors of all other partial images to which the group belongs can be changed in accordance with the change. As a result, even when image reproduction such as animation is performed, for example, the overall drawing color can be changed in a short operation and in a short time.
[0384]
Further, the present invention centrally manages the drawing color for a plurality of partial images related to the drawing color or a part thereof, so that the entire drawing color can be changed in a short operation and in a short time. Can do.
[0385]
In addition, the present invention collects a plurality of parts related to drawing colors into one group in a partial image, and when any drawing color constituting the group is changed, drawing of all the parts constituting the group is performed. The color is changed according to the changed drawing color. For this reason, it is possible to change the overall drawing color in a short operation and in a short time.
[0386]
By combining these inventions described above, a greater effect can be obtained, and the overall drawing color can be changed in fewer operations and in a shorter time.
[Brief description of the drawings]
FIG. 1 is an overall circuit configuration diagram of a system to which a first embodiment is applied.
FIG. 2 is a configuration diagram of a VDP.
FIG. 3 is a diagram illustrating a hierarchical structure of a display screen.
FIG. 4 is a data configuration diagram of a ROM (part 1);
FIG. 5 is a data configuration diagram of a ROM (part 2);
FIG. 6 is a data configuration diagram of a ROM (part 3);
FIG. 7 is a data configuration diagram of an SRAM and an OAM unit.
FIG. 8 is a data configuration diagram of a CLT unit.
FIG. 9 is a data configuration diagram of a work RAM.
FIG. 10 is a diagram showing color codes assigned to respective parts of a partial image (No. 1).
FIG. 11 is a diagram showing color codes assigned to respective parts of a partial image (No. 2).
FIG. 12 is a diagram showing color codes assigned to respective parts of the partial image (No. 3).
FIG. 13 is an explanatory diagram of screen display timing.
FIG. 14 is a timing chart showing an operation example as an animation.
FIG. 15 is a diagram illustrating an example of data for animation.
FIG. 16 is an operation flowchart of overall processing;
FIG. 17 is an operation flowchart of initial processing;
FIG. 18 is an operation flowchart of a character animation initial process;
FIG. 19 is an operation flowchart of background object animation initial processing;
FIG. 20 is an operation flowchart of balloon animation initial processing;
FIG. 21 is an operation flowchart of an animation mode change process.
FIG. 22 is an operation flowchart of a forward frame advance process for a character.
FIG. 23 is an operation flowchart of background object forward direction frame advance processing;
FIG. 24 is an operational flowchart of a character reverse frame advance process;
FIG. 25 is an operation flowchart of background frame reverse frame advance processing;
FIG. 26 is an operation flowchart of a drawing color change process.
FIG. 27 is an operation flowchart of pallet change processing;
FIG. 28 is an operational flowchart of balloon color change processing;
FIG. 29 is an operation flowchart of a balloon frame color changing process;
FIG. 30 is an operation flowchart of character color change processing;
FIG. 31 is an operation flowchart of background object color change processing;
FIG. 32 is an operation flowchart of background color change processing;
FIG. 33 is an operation flowchart of animation processing (part 1);
FIG. 34 is an operation flowchart of animation processing (part 2);
FIG. 35 is a configuration diagram of pallet management data (second embodiment);
FIG. 36 is an operation flowchart of a character color changing process (second embodiment);
FIG. 37 is an operation flowchart of background object color change processing (second embodiment);
FIG. 38 is an operation flowchart of background color change processing (second embodiment);
FIG. 39 is a diagram illustrating color codes assigned to each partial image (third embodiment);
FIG. 40 is a diagram illustrating color codes assigned to CLT units (third embodiment).
FIG. 41 is a configuration diagram of pallet data stored in a ROM (third embodiment).
FIG. 42 is an operational flowchart of initial processing (third embodiment).
FIG. 43 is an operation flowchart of a drawing color change process (third embodiment).
FIG. 44 is an operation flowchart of pallet change processing (third embodiment);
FIG. 45 is an operation flowchart of a character color changing process (third embodiment);
FIG. 46 is an operation flowchart of background object color change processing (third embodiment);
FIG. 47 is an operation flowchart of background color change processing (third embodiment);
FIG. 48 is a configuration diagram of palette data stored in a ROM (fourth embodiment).
FIG. 49 is an operational flowchart of initial processing (fourth embodiment).
FIG. 50 is an operation flowchart of pallet change processing (fourth embodiment);
FIG. 51 is an operation flowchart of a character color changing process (fourth embodiment);
FIG. 52 is an operation flowchart of background object color change processing (fourth embodiment);
FIG. 53 is an operation flowchart of background color change processing (fourth embodiment);
[Explanation of symbols]
101 CPU
102 Program / data ROM
104 Input device
105 VDP
106 SRAM
108 TV
207 Color lookup table section

Claims (2)

複数の領域に分割された部分画像を複数個記憶する部分画像記憶手段と、複数の色コードを記憶する色コード記憶手段と、前記各色コード毎に前記複数の領域の数より少ない種類の描画色データを記憶する描画色データ記憶手段有する画像作成装置であって、前記複数の部分画像を表示画面上に配置することにより1表示画面分の画像を作成する前記画像作成装置に適用される前記部分画像の描画色を変更する方法であって、
前記色コード記憶手段より所定の色コードを指定し、
前記指定された色コードに対応する複数の描画色データを前記描画色データ記憶手段より読出し、
前記読み出された複数の描画色データに基づいて、前記複数の領域を全て描画するに不足する数の他の描画色データを補間作成し、
前記読み出された複数の描画色データ及び補間作成された描画色データに基づいて前記複数の領域の描画を行う、
描画色変更方法。
Partial image storage means for storing a plurality of partial images divided into a plurality of areas, color code storage means for storing a plurality of color codes, and a smaller number of drawing colors than the number of the plurality of areas for each color code an image creation device having a drawing color data storing means for storing data, is applied to the image creating apparatus for creating an image of one display screen by arranging the plurality of partial images on a display screen A method for changing a drawing color of the partial image,
Designate a predetermined color code from the color code storage means,
Reading a plurality of drawing color data corresponding to the designated color code from the drawing color data storage means,
Based on the read plurality of drawing color data, interpolating and creating other drawing color data that is insufficient to draw all the plurality of areas,
Drawing the plurality of areas based on the read plurality of drawing color data and drawing color data created by interpolation,
How to change the drawing color.
複数の部分画像を表示画面上に配置することにより1表示画面分の画像を作成する画像作成装置であって、
前記複数の部分画像夫々は複数の領域に分割され、
複数の色コードを記憶する色コード記憶手段と、
前記各色コード毎に前記複数の領域の数より少ない種類の描画色データを記憶する描画色データ記憶手段と、
前記色コード記憶手段より所定の色コードを指定する色コード指定手段と、
前記色コード指定手段により指定された色コードに対応する複数の描画色データを前記描画色データ記憶手段より読み出す描画色データ読出手段と、
前記描画色データ読出手段により読み出された複数の描画色データに基づいて、前記複数の領域を全て描画するに不足する数の他の描画色データを補間作成する補間手段と、
前記描画色データ読出手段により読み出された複数の描画色データ及び前記補間手段により補間作成された描画色データに基づいて前記複数の領域の描画を行う描画手段と、
を具備したことを特徴とする画像作成装置。
An image creation device for creating an image for one display screen by arranging a plurality of partial images on a display screen,
Wherein each of the plurality of partial images each is divided into a plurality of regions,
Color code storage means for storing a plurality of color codes;
Drawing color data storage means for storing drawing color data of a type smaller than the number of the plurality of regions for each color code;
Color code designating means for designating a predetermined color code from the color code storage means;
Drawing color data reading means for reading a plurality of drawing color data corresponding to the color code specified by the color code specifying means from the drawing color data storage means;
Interpolating means for interpolating and creating other drawing color data that is insufficient to draw all of the plurality of areas based on the plurality of drawing color data read by the drawing color data reading means;
Drawing means for drawing the plurality of regions based on the drawing color data read by the drawing color data reading means and the drawing color data interpolated by the interpolation means;
An image creating apparatus comprising:
JP35427895A 1995-12-29 1995-12-29 Drawing color changing method and image creating apparatus Expired - Fee Related JP3750171B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP35427895A JP3750171B2 (en) 1995-12-29 1995-12-29 Drawing color changing method and image creating apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35427895A JP3750171B2 (en) 1995-12-29 1995-12-29 Drawing color changing method and image creating apparatus

Publications (2)

Publication Number Publication Date
JPH09185701A JPH09185701A (en) 1997-07-15
JP3750171B2 true JP3750171B2 (en) 2006-03-01

Family

ID=18436469

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35427895A Expired - Fee Related JP3750171B2 (en) 1995-12-29 1995-12-29 Drawing color changing method and image creating apparatus

Country Status (1)

Country Link
JP (1) JP3750171B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5609162B2 (en) * 2010-03-03 2014-10-22 辰巳電子工業株式会社 Image providing apparatus, image providing method, and image providing program
JP5593879B2 (en) * 2010-06-30 2014-09-24 カシオ計算機株式会社 Graphic display device and program

Also Published As

Publication number Publication date
JPH09185701A (en) 1997-07-15

Similar Documents

Publication Publication Date Title
JP3656857B2 (en) Full-motion video NTSC display device and method
KR100411534B1 (en) Video data generation method, generation device and generation circuit, and game playback device
US4517654A (en) Video processing architecture
JP4399910B2 (en) Image processing apparatus and method including blending processing
JPS62288984A (en) Video display unit
US5363119A (en) Scaling processor for raster images
US8698830B2 (en) Image processing apparatus and method for texture-mapping an image onto a computer graphics image
US11699221B2 (en) Image processing apparatus, storage medium and image processing method
JP3750171B2 (en) Drawing color changing method and image creating apparatus
CA1257719A (en) Graphics display system
JP3721623B2 (en) Drawing color changing method and moving picture reproducing apparatus
EP0062669B1 (en) Graphic and textual image generator for a raster scan display
CN113691796B (en) Three-dimensional scene interaction method through two-dimensional simulation and computer readable storage medium
US9165395B2 (en) Image processing apparatus and method
JPH11331700A (en) Image processing unit and image processing method
JP3052839B2 (en) Image processing apparatus and processing method thereof
JP3501479B2 (en) Image processing device
JPH0767136B2 (en) Image processing device
JP3735325B2 (en) Image generator
JP3652586B2 (en) Image drawing system
JP3680351B2 (en) Image control device
JP3680352B2 (en) Image control device
JP2898482B2 (en) Computer game equipment
JPH07210142A (en) Method for displaying picture
JPH09160534A (en) Image control device

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050603

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050614

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050906

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051019

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051115

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051128

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081216

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091216

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101216

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101216

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111216

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111216

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121216

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees