FineKernelToolKit: FK::fk_SpriteModel クラス

FineKernelToolKit 4.3.0

読み取り中…
検索中…
一致する文字列を見つけられません
公開メンバ関数 | 公開変数類 | 全メンバ一覧
FK::fk_SpriteModel クラス

2D スプライトモデルクラス [詳解]

`#include <FK/SpriteModel.h>`

FK::fk_SpriteModel の継承関係図
[凡例]
FK::fk_SpriteModel 連携図
[凡例]

## 公開メンバ関数

| fk_SpriteModel (void)
| コンストラクタ
| ~fk_SpriteModel (void)
| デストラクタ
bool | entryFirst (fk_Window *win, fk_Scene *scene, fk_Model *camera=nullptr)
| fk_Scene へのエントリー関数
bool | readBMP (const std::string filename)
| Windows Bitmap (BMP)画像読み込み関数
bool | readPNG (const std::string filename)
| PNG画像読み込み関数
bool | readJPG (const std::string filename)
| JPEG(JPG)画像読み込み関数
void | setImage (fk_Image *image)
| 画像データセット関数1
void | setImage (fk_Image &image)
| 画像データセット関数2
fk_Image * | getImage (void)
| 画像データ参照関数
fk_RectTexture * | getTexture (void)
| テクスチャデータ参照関数
void | setTextureMode (fk_TexMode mode)
| テクスチャモード設定関数
fk_TexMode | getTextureMode (void)
| テクスチャモード取得関数
void | setPositionLT (double x, double y)
| 画像位置指定関数
void | setSpriteArea (double x, double y, double w, double h)
| 画像表示領域指定関数
void | setSpriteSize (double width=-1.0, double height=-1.0)
| 表示サイズ設定関数
fk_TexCoord | getSpriteSize (void)
| 表示サイズ取得関数
void | setSpriteSmoothMode (bool mode)
| 画像表示モード設定関数
bool | getSpriteSmoothMode (void)
| 画像表示モード取得関数
bool | initFont (const std::string fontFileName)
| 文字列描画用フォント設定関数
void | drawText (const std::string str, fk_StringCode code=fk_StringCode::SJIS)
| 文字列表示関数
void | drawText (const std::string str, bool mode, fk_StringCode code=fk_StringCode::SJIS)
| 初期化設定付き文字列表示関数
void | clearText (void)
| 文字列消去関数
基底クラス FK::fk_Model に属する継承公開メンバ関数
| fk_Model (fk_Shape *shape=nullptr)
| コンストラクタ
virtual | ~fk_Model ()
| デストラクタ
unsigned int | getID (void) const
| ID参照関数
bool | glRotate (fk_Vector origin, fk_Axis axis, double theta)
| グローバル座標系座標軸回転関数1
bool | glRotate (double orgX, double orgY, double orgZ, fk_Axis axis, double theta)
| グローバル座標系座標軸回転関数2
bool | glRotate (fk_Vector A, fk_Vector B, double theta)
| グローバル座標系任意軸回転関数1
bool | glRotate (double Ax, double Ay, double Az, double Bx, double By, double Bz, double theta)
| グローバル座標系任意軸回転関数2
bool | loRotate (fk_Vector origin, fk_Axis axis, double theta)
| ローカル座標系座標軸回転関数1
bool | loRotate (double orgX, double orgY, double orgZ, fk_Axis axis, double theta)
| ローカル座標系座標軸回転関数2
bool | loRotate (fk_Vector A, fk_Vector B, double theta)
| ローカル座標系任意軸回転関数1
bool | loRotate (double Ax, double Ay, double Az, double Bx, double By, double Bz, double theta)
| ローカル座標系任意軸回転関数2
bool | glRotateWithVec (fk_Vector origin, fk_Axis axis, double theta)
| グローバル座標系座標軸回転(姿勢付き)関数1
bool | glRotateWithVec (double orgX, double orgY, double orgZ, fk_Axis axis, double theta)
| グローバル座標系座標軸回転(姿勢付き)関数2
bool | glRotateWithVec (fk_Vector A, fk_Vector B, double theta)
| グローバル座標系任意軸回転(姿勢付き)関数1
bool | glRotateWithVec (double Ax, double Ay, double Az, double Bx, double By, double Bz, double theta)
| グローバル座標系任意軸回転(姿勢付き)関数2
bool | loRotateWithVec (fk_Vector origin, fk_Axis axis, double theta)
| ローカル座標系座標軸回転(姿勢付き)関数1
bool | loRotateWithVec (double orgX, double orgY, double orgZ, fk_Axis axis, double theta)
| ローカル座標系座標軸回転(姿勢付き)関数2
bool | loRotateWithVec (fk_Vector A, fk_Vector B, double theta)
| ローカル座標系任意軸回転(姿勢付き)関数1
bool | loRotateWithVec (double Ax, double Ay, double Az, double Bx, double By, double Bz, double theta)
| ローカル座標系任意軸回転(姿勢付き)関数2
bool | glTranslate (fk_Vector v)
| グローバル座標系平行移動関数1
bool | glTranslate (double x, double y, double z)
| グローバル座標系平行移動関数2
bool | loTranslate (fk_Vector v)
| ローカル座標系平行移動関数1
bool | loTranslate (double x, double y, double z)
| ローカル座標系平行移動関数2
bool | glMoveTo (fk_Vector p)
| グローバル座標系位置指定関数1
bool | glMoveTo (double x, double y, double z)
| グローバル座標系位置指定関数2
void | setShape (fk_Shape *shape)
| 形状設定関数
fk_Shape * | getShape (void) const
| 形状参照関数
void | setMaterial (const fk_Material &mat)
| マテリアル設定関数
void | setPointColor (fk_Color *col)
| 頂点色設定関数1
void | setPointColor (float r, float g, float b)
| 頂点色設定関数2
void | setLineColor (fk_Color *col)
| 稜線色設定関数1
void | setLineColor (float r, float g, float b)
| 稜線色設定関数2
void | setCurveColor (fk_Color *col)
| 曲線色設定関数1
void | setCurveColor (float r, float g, float b)
| 曲線色設定関数2
fk_Material * | getMaterial (void)
| マテリアル参照関数
fk_Color * | getPointColor (void)
| 頂点色参照関数
fk_Color * | getLineColor (void)
| 稜線色参照関数
fk_Color * | getCurveColor (void)
| 曲線色参照関数
void | setDrawMode (const fk_Draw mode)
| 描画モード設定関数
fk_Draw | getDrawMode (void) const
| 描画モード参照関数
void | setElementMode (const fk_ElementMode mode)
| 要素モード設定関数
fk_ElementMode | getElementMode (void) const
| 要素モード設定関数
void | setShadingMode (fk_ShadingMode mode)
| シェーディングモード設定関数
fk_ShadingMode | getShadingMode (void) const
| シェーディングモード取得関数
void | setBlendMode (const fk_BlendMode mode, const fk_BlendFactor srcFactor=fk_BlendFactor::SRC_ALPHA, const fk_BlendFactor dstFactor=fk_BlendFactor::ONE_MINUS_SRC_ALPHA)
| ブレンドモード設定関数
fk_BlendMode | getBlendMode (fk_BlendFactor *outSrc=nullptr, fk_BlendFactor *outDst=nullptr) const
| ブレンドモード参照関数
void | setSmoothMode (const bool mode)
| スムースモード設定関数
bool | getSmoothMode (void) const
| スムースモード参照関数
void | setReverseDrawMode (const bool mode)
| 描画順序制御関数
bool | getReverseDrawMode (void) const
| 描画順序参照関数
void | setDepthMode (const fk_DepthMode mode)
| 前後関係制御関数
fk_DepthMode | getDepthMode (void) const
| 前後関係参照関数
void | setTextureMode (fk_TexMode mode)
| テクスチャモード設定関数
fk_TexMode | getTextureMode (void)
| テクスチャモード取得関数
void | setPointSize (const double size)
| 頂点描画サイズ設定関数
double | getPointSize (void) const
| 頂点描画サイズ参照関数
void | setShadowEffect (bool mode)
| 影投影設定関数
bool | getShadowEffect (void)
| 影投影設定参照関数
void | setShadowDraw (bool mode)
| 影表示設定関数
bool | getShadowDraw (void)
| 影表示設定参照関数
void | setFogMode (bool mode)
| 霧効果設定関数
bool | getFogMode (void)
| 霧効果設定参照関数
fk_Matrix | getInhMatrix (void) const
| 継承変換行列取得関数
fk_Matrix | getInhInvMatrix (void) const
| 継承逆変換行列取得関数
fk_OrthoMatrix | getInhBaseMatrix (void) const
| 継承移動・回転要素変換行列取得関数
fk_OrthoMatrix | getInhInvBaseMatrix (void) const
| 継承移動・回転要素逆変換行列取得関数
fk_Vector | getInhPosition (void) const
| 継承位置ベクトル参照関数
fk_Vector | getInhVec (void) const
| 継承方向ベクトル参照関数
fk_Vector | getInhUpvec (void) const
| 継承アップベクトル参照関数
fk_Angle | getInhAngle (void) const
| 継承オイラー角参照関数
double | getInhScale (void) const
| 継承全体倍率取得関数
bool | setParent (fk_Model *model, bool setMode=false)
| 親モデル設定関数
void | deleteParent (bool setMode=false)
| 親モデル解除関数
fk_Model * | getParent (void) const
| 親モデル参照関数
bool | entryChild (fk_Model *model, bool setMode=false)
| 子モデル設定関数
bool | deleteChild (fk_Model *model, bool setMode=false)
| 子モデル解除関数
void | deleteChildren (bool setMode=false)
| 全子モデル解除関数
fk_Model * | foreachChild (fk_Model *model)
| 子モデル逐次参照関数
void | snapShot (void)
| 位置・姿勢保存関数
bool | restore (void)
| 位置・姿勢復元関数
bool | restore (double t)
| 位置・姿勢途中復元関数
void | setShader (fk_ShaderBinder *shader)
| シェーダー設定関数
fk_ShaderBinder * | getShader (void)
| シェーダー取得関数
void | adjustSphere (void)
| 境界球自動設定関数
void | adjustAABB (void)
| AABB 自動設定関数
void | adjustOBB (void)
| OBB 自動設定関数
void | adjustCapsule (void)
| 境界カプセル自動設定関数(全自動)
void | adjustCapsule (fk_Axis axis)
| 境界カプセル自動設定関数(座標軸による中心軸設定)
void | adjustCapsule (fk_Vector P, fk_Axis axis)
| 境界カプセル自動設定関数(中心軸上の点と座標軸)
void | adjustCapsule (fk_Vector S, fk_Vector E, bool mode=false)
| 境界カプセル自動設定関数(中心軸直接指定)
bool | isInter (fk_Model *model)
| モデル間干渉判定関数
std::tuple< bool, double > | isCollision (fk_Model *model)
| モデル間衝突判定関数
void | setInterMode (bool mode)
| 干渉継続モード設定関数
bool | getInterMode (void)
| 干渉継続モード取得関数
bool | getInterStatus (void)
| 干渉継続状態取得関数
void | resetInter (void)
| 干渉継続状態初期化関数
void | setInterStopMode (bool mode)
| 干渉自動停止モード設定関数
bool | getInterStopMode (void)
| 干渉自動停止モード取得関数
void | entryInterModel (fk_Model *model)
| 干渉自動停止モデル登録関数
void | deleteInterModel (fk_Model *model)
| 干渉自動停止モデル解除関数
void | clearInterModel (void)
| 干渉自動停止モデル初期化関数
void | defaultPhysics (void)
void | setPhysicsWorld (fk_PhysicsWorld *world)
void | setInertia (fk_Vector ine)
| 慣性モーメント設定関数
void | setMass (double mass)
| 質量設定関数
void | setRestitution (double res)
| 反射係数設定関数
void | setDynamics (bool mode)
| 運動有無設定関数
void | setDamping (double sd, double rd)
| 摩擦係数設定関数
void | addForce (fk_Vector f)
| 外力設定関数
基底クラス FK::fk_Boundary に属する継承公開メンバ関数
| fk_Boundary (fk_Type)
| コンストラクタ
virtual | ~fk_Boundary ()
| デストラクタ
void | setBMode (fk_BoundaryMode mode)
| 境界ボリューム選択関数
fk_BoundaryMode | getBMode (void)
| 境界ボリューム選択状態参照関数
void | setSphere (double r)
| 境界球半径設定関数
void | setSpherePos (fk_Vector pos)
| 境界球位置設定関数
double | getSphere (void)
| 境界球半径参照関数
fk_Vector | getSpherePos (void)
| 境界球位置参照関数
void | setAABBSize (double x, double y, double z)
| 軸平行境界ボックス (AABB) サイズ設定関数1
void | setAABBSize (fk_Vector size)
| 軸平行境界ボックス (AABB) サイズ設定関数2
void | setAABBMaxMin (fk_Vector max, fk_Vector min)
| 軸平行境界ボックス (AABB) 最大最小設定関数
void | setAABBMax (fk_Vector v)
| 軸平行境界ボックス (AABB) 最大値側設定関数
void | setAABBMin (fk_Vector v)
| 軸平行境界ボックス (AABB) 最小値側設定関数
fk_Vector | getAABBSize (void)
| 軸平行境界ボックス (AABB) サイズ取得関数
fk_Vector | getAABBMax (void)
| 軸平行境界ボックス (AABB) 最大値側取得関数
fk_Vector | getAABBMin (void)
| 軸平行境界ボックス (AABB) 最小値側取得関数
std::tuple< fk_Vector, fk_Vector > | getAABBMaxMin (void)
| 軸平行境界ボックス (AABB) 最大最小取得関数
void | setOBBSize (double x, double y, double z)
| 有向境界ボックス (OBB) サイズ設定関数1
void | setOBBSize (fk_Vector size)
| 有向境界ボックス (OBB) サイズ設定関数2
void | setOBBMaxMin (fk_Vector max, fk_Vector min)
| 有向境界ボックス (OBB) 最大最小設定関数
void | setOBBMax (fk_Vector v)
| 有向境界ボックス (OBB) 最大値側設定関数
void | setOBBMin (fk_Vector v)
| 有向境界ボックス (OBB) 最小値側設定関数
fk_Vector | getOBBSize (void)
| 有向境界ボックス (OBB) サイズ取得関数
fk_Vector | getOBBMax (void)
| 有向境界ボックス (OBB) 最大値側取得関数
fk_Vector | getOBBMin (void)
| 有向境界ボックス (OBB) 最小値側取得関数
std::tuple< fk_Vector, fk_Vector > | getOBBMaxMin (void)
| 有向境界ボックス (OBB) 最大最小取得関数
void | setCapsule (fk_Vector sPos, fk_Vector ePos, double r)
| カプセル型設定関数
void | setCapsuleStartPos (fk_Vector argP)
| カプセル型中心軸始点設定関数
void | setCapsuleEndPos (fk_Vector argP)
| カプセル型中心軸終点設定関数
void | setCapsuleRadius (double r)
| カプセル型領域規定距離設定関数
double | getCapsuleRadius (void)
| カプセル型領域規定距離取得関数
double | getCapsuleLength (void)
| カプセル型中心軸長取得関数
std::tuple< fk_Vector, fk_Vector > | getCapsulePos (void)
| カプセル型中心軸両端点取得関数
fk_Vector | getCapsuleStartPos (void)
| カプセル型中心軸始点取得関数
fk_Vector | getCapsuleEndPos (void)
| カプセル型中心軸終点取得関数
void | setBDrawToggle (bool mode)
| 境界ボリューム描画有無設定関数
bool | getBDrawToggle (void)
| 境界ボリューム描画有無取得関数
void | setBLineColor (fk_Color col)
| 境界ボリューム非干渉描画色設定関数
fk_Color * | getBLineColor (void)
| 境界ボリューム非干渉描画色取得関数
void | setBIntLineColor (fk_Color col)
| 境界ボリューム干渉状態描画色設定関数
fk_Color * | getBIntLineColor (void)
| 境界ボリューム干渉状態描画色取得関数
void | setBLineWidth (double width)
| 境界ボリューム描画線幅設定関数
double | getBLineWidth (void)
| 境界ボリューム描画線幅取得関数
基底クラス FK::fk_MatrixAdmin に属する継承公開メンバ関数
| fk_MatrixAdmin (fk_Type=fk_Type::MATRIXADMIN)
| コンストラクタ
virtual | ~fk_MatrixAdmin ()
| デストラクタ
fk_Vector | getPosition (void) const
| 位置ベクトル取得関数
fk_Vector | getVec (void) const
| 方向ベクトル取得関数
fk_Vector | getUpvec (void) const
| アップベクトル取得関数
fk_Angle | getAngle (void) const
| オイラー角取得関数
fk_Matrix | getMatrix (void) const
| 変換行列取得関数
fk_Matrix | getInvMatrix (void) const
| 逆変換行列取得関数
fk_OrthoMatrix | getBaseMatrix (void) const
| 移動・回転要素変換行列取得関数
fk_OrthoMatrix | getInvBaseMatrix (void) const
| 移動・回転要素逆変換行列取得関数
bool | setScale (const double scale)
| 全体絶対倍率設定関数
bool | setScale (const double scale, fk_Axis axis)
| 軸方向絶対倍率設定関数
bool | setScale (const double x, const double y, const double z)
| 軸方向個別絶対倍率設定関数
bool | prdScale (const double scale)
| 全体相対倍率設定関数
bool | prdScale (const double scale, fk_Axis axis)
| 軸方向相対倍率設定関数
bool | prdScale (const double x, const double y, const double z)
| 軸方向個別相対倍率設定関数
double | getScale (void) const
| 全体倍率取得関数
double | getScale (fk_Axis axis) const
| 軸方向倍率取得関数
bool | getScaleMode (void) const
| 拡大縮小状態判定関数
bool | glRotate_ (fk_Vector &origin, fk_Axis axis, double theta)
| グローバル座標系座標軸回転関数1
bool | glRotate_ (double orgX, double orgY, double orgZ, fk_Axis axis, double theta)
| グローバル座標系座標軸回転関数2
bool | glRotate_ (fk_Vector &A, fk_Vector &B, double theta)
| グローバル座標系任意軸回転関数1
bool | glRotate_ (double Ax, double Ay, double Az, double Bx, double By, double Bz, double theta)
| グローバル座標系任意軸回転関数2
bool | loRotate_ (fk_Vector &origin, fk_Axis axis, double theta)
| ローカル座標系座標軸回転関数1
bool | loRotate_ (double orgX, double orgY, double orgZ, fk_Axis axis, double theta)
| ローカル座標系座標軸回転関数2
bool | loRotate_ (fk_Vector &A, fk_Vector &B, double theta)
| ローカル座標系任意軸回転関数1
bool | loRotate_ (double Ax, double Ay, double Az, double Bx, double By, double Bz, double theta)
| ローカル座標系任意軸回転関数2
bool | glRotateWithVec_ (fk_Vector &origin, fk_Axis axis, double theta)
| グローバル座標系座標軸回転(姿勢付き)関数1
bool | glRotateWithVec_ (double orgX, double orgY, double orgZ, fk_Axis axis, double theta)
| グローバル座標系座標軸回転(姿勢付き)関数2
bool | glRotateWithVec_ (fk_Vector &A, fk_Vector &B, double theta)
| グローバル座標系任意軸回転(姿勢付き)関数1
bool | glRotateWithVec_ (double Ax, double Ay, double Az, double Bx, double By, double Bz, double theta)
| グローバル座標系任意軸回転(姿勢付き)関数2
bool | loRotateWithVec_ (fk_Vector &origin, fk_Axis axis, double theta)
| ローカル座標系座標軸回転(姿勢付き)関数1
bool | loRotateWithVec_ (double orgX, double orgY, double orgZ, fk_Axis axis, double theta)
| ローカル座標系座標軸回転(姿勢付き)関数2
bool | loRotateWithVec_ (fk_Vector &A, fk_Vector &B, double theta)
| ローカル座標系任意軸回転(姿勢付き)関数1
bool | loRotateWithVec_ (double Ax, double Ay, double Az, double Bx, double By, double Bz, double theta)
| ローカル座標系任意軸回転(姿勢付き)関数2
bool | glTranslate_ (fk_Vector &v)
| グローバル座標系平行移動関数1
bool | glTranslate_ (double x, double y, double z)
| グローバル座標系平行移動関数2
bool | loTranslate_ (fk_Vector &v)
| ローカル座標系平行移動関数1
bool | loTranslate_ (double x, double y, double z)
| ローカル座標系平行移動関数2
bool | glMoveTo_ (fk_Vector &p)
| グローバル座標系位置指定関数1
bool | glMoveTo_ (double x, double y, double z)
| グローバル座標系位置指定関数2
bool | glFocus (fk_Vector p)
| グローバル座標系注視点設定関数1
bool | glFocus (double x, double y, double z)
| グローバル座標系注視点設定関数2
bool | loFocus (fk_Vector p)
| ローカル座標系注視点設定関数1
bool | loFocus (double x, double y, double z)
| ローカル座標系注視点設定関数2
bool | glVec (fk_Vector v)
| グローバル座標系方向ベクトル設定関数1
bool | glVec (double x, double y, double z)
| グローバル座標系方向ベクトル設定関数2
bool | glUpvec (fk_Vector v)
| グローバル座標系アップベクトル設定関数1
bool | glUpvec (double x, double y, double z)
| グローバル座標系アップベクトル設定関数2
bool | loUpvec (fk_Vector v)
| ローカル座標系アップベクトル設定関数1
bool | loUpvec (double x, double y, double z)
| ローカル座標系アップベクトル設定関数2
bool | glAngle (fk_Angle angle)
| グローバル座標系オイラー角設定関数1
bool | glAngle (double h, double p, double b)
| グローバル座標系オイラー角設定関数2
bool | loAngle (fk_Angle angle)
| ローカル座標系オイラー角設定関数1
bool | loAngle (double h, double p, double b)
| ローカル座標系オイラー角設定関数2
基底クラス FK::fk_BaseObject に属する継承公開メンバ関数
| fk_BaseObject (fk_Type type=fk_Type::BASEOBJECT)
| コンストラクタ
fk_Type | getObjectType (void) const
| タイプ取得関数

## 公開変数類

fk_TextImage | text
| 文字列描画設定用オブジェクト

## その他の継承メンバ

static void | stepSimulation (float, int)

## 詳解

2D スプライトモデルクラス

このクラスは、画像や文字列をディスプレイ座標系に従って配置する機能を提供します。

リアルタイム 3DCG において (3次元空間の投影によらず) ディスプレイ上に直接画像やメッセージ等のビットマップ画像を表示する処理を 「スプライト表示」と呼びます。 スプライト表示を行うための方法はプラットフォームによって異なるため、 FK では直接スプライト表示を行う機能は提供しませんが、 本クラスはディスプレイ座標系での指定に従って、 適切にテクスチャ画像の配置を行うことによって(擬似的に)スプライト表示を実現します。

注意
  本クラスは fk_Model クラスを継承しており、 fk_Model のメンバ関数が使用可能です。 ただし、3次元的な挙動を指示した場合には意図しない動作になることがあります。 また、表示するウィンドウごとに内部計算が必要なため、 マルチウィンドウ利用時はインスタンスを使い回すことができません。 ウィンドウごとに別々のインスタンスを使用して下さい。

参照
  fk_Model, fk_TextImage, fk_Image

## 構築子と解体子

## ◆ fk_SpriteModel()

FK::fk_SpriteModel::fk_SpriteModel | ( | void |  | ) |

コンストラクタ

## ◆ ~fk_SpriteModel()

FK::fk_SpriteModel::~fk_SpriteModel | ( | void |  | ) |

デストラクタ

## 関数詳解

## ◆ entryFirst()

bool FK::fk_SpriteModel::entryFirst | ( | fk_Window * | win,
|  | fk_Scene * | scene,
|  | fk_Model * | camera = nullptr )

fk_Scene へのエントリー関数

スプライトのサイズやレイアウトを、カメラ・シーン・ウィンドウに合わせて設定します。 fk_Scene へ最初にエントリーする時は、こちらの関数を使ってください。 シーンにはカメラがセット済みである必要があります。 ウィンドウサイズ・カメラ・射影を変更した場合はもう一度呼ばないとサイズがおかしくなります。

覚え書き
  fk_AppWindow を利用している場合は、本関数を利用する必要はありません。

引数

  [in] | win | 表示対象となる fk_Window 型のインスタンスへのポインタ。
  [in] | scene | 表示対象となる fk_Scene 型のインスタンスへのポインタ。
  [in] | camera | 表示対象となるカメラインスタンスへのポインタ。

参照
  fk_Window, fk_Scene, fk_Model

## ◆ readBMP()

bool FK::fk_SpriteModel::readBMP | ( | const std::string | filename | ) |

Windows Bitmap (BMP)画像読み込み関数

Windows Bitmap 形式 (BMP形式) の画像を読み込みます。

引数

  [in] | filename | BMP形式ファイル名

戻り値
  成功したら true を、失敗したら false を返します。

## ◆ readPNG()

bool FK::fk_SpriteModel::readPNG | ( | const std::string | filename | ) |

PNG画像読み込み関数

PNG形式の画像を読み込みます。アルファチャンネルによる透過に対応しています。

引数

  [in] | filename | PNG形式ファイル名

戻り値
  成功したら true を、失敗したら false を返します。

## ◆ readJPG()

bool FK::fk_SpriteModel::readJPG | ( | const std::string | filename | ) |

JPEG(JPG)画像読み込み関数

JPEG形式の画像を読み込みます。

引数

  [in] | filename | PNG形式ファイル名

戻り値
  成功したら true を、失敗したら false を返します。

## ◆ setImage() [1/2]

void FK::fk_SpriteModel::setImage | ( | fk_Image * | image | ) |

画像データセット関数1

fk_Image 型の画像データを読み込みます。

既に画像を読み込み済みの fk_Image をセットします。

## ◆ setImage() [2/2]

void FK::fk_SpriteModel::setImage | ( | fk_Image & | image | ) |

画像データセット関数2

fk_Image 型の画像データを読み込みます。

既に画像を読み込み済みの fk_Image をセットします。

## ◆ getImage()

fk_Image * FK::fk_SpriteModel::getImage | ( | void |  | ) |

画像データ参照関数

内部の画像データインスタンスを参照します。 画像サイズを変更しない限りは、内部データを直接変更しても問題ありません。

注意
  本関数で得たインスタンスの画像サイズを変更した場合の挙動は保証されません。

戻り値
  画像データインスタンスのポインタ

## ◆ getTexture()

fk_RectTexture * FK::fk_SpriteModel::getTexture | ( | void |  | ) |

テクスチャデータ参照関数

内部テクスチャデータである fk_RectTexture 型インスタンスを参照します。

覚え書き
  本関数によって得られたインスタンスのメンバ関数のうち、 内部データの変更を伴う機能を用いた場合、 fk_SpriteModel インスタンスの機能が正常に動作することは保証されません。

戻り値
  内部テクスチャデータ

参照
  setTextureMode(), getTextureMode(), getImage(), fk_RectTexture, fk_Texture

## ◆ setTextureMode()

void FK::fk_SpriteModel::setTextureMode | ( | fk_TexMode | mode | ) |

テクスチャモード設定関数

内部テクスチャのテクスチャモードを設定します。 テクスチャモードに関する詳細は fk_Texture::setTextureMode() を参照して下さい。

引数

  [in] | mode | テクスチャモード

参照
  getTexture(), getTextureMode(), getImage(), fk_Texture::setTextureMode()

## ◆ getTextureMode()

fk_TexMode FK::fk_SpriteModel::getTextureMode | ( | void |  | ) |

テクスチャモード取得関数

内部テクスチャのテクスチャモードを参照します。

戻り値
  テクスチャモード

参照
  setTextureMode(), getTexture()

## ◆ setPositionLT()

void FK::fk_SpriteModel::setPositionLT | ( | double | x,
|  | double | y )

画像位置指定関数

指定した座標が左上になるように位置を変更します。 指定する数値は、画面中心を原点とする座標系で、 数値 1 が 1 ピクセルに相当する値になります。

画像の中心位置を指定したい場合は、 fk_Model::glMoveTo() を利用して下さい。

注意
  本関数によって位置を指定した後に、 以下に述べるような操作を行った場合、 表示位置が不適切となる場合があります。
  - setSpriteSize() による大きさ変更。
  - 画像データの再入力。
  - 投影変換の変更。
  - ウィンドウサイズの変更。

このような操作を行った場合、 再度本関数によって適切な位置に指定を行う必要があります。

引数

  [in] | x | 画像左上の x 座標値。
  [in] | y | 画像左上の y 座標値。

参照
  setSpriteSize(), getSpriteSize(), fk_Model::glMoveTo()

## ◆ setSpriteArea()

void FK::fk_SpriteModel::setSpriteArea | ( | double | x,
|  | double | y,
|  | double | w,
|  | double | h )

画像表示領域指定関数

画像の一部分だけを表示領域として切り出します。 本関数での座標系は、画像のピクセル数が横幅 \( W \), 縦幅 \( H \) としたとき、 画像の左上が \( (0, 0) \) であり、右下が \( (W-1, H-1) \) となります。

引数

  [in] | x | 表示領域左上の x 座標値。
  [in] | y | 表示領域左上の y 座標値。
  [in] | w | 表示領域の横幅ピクセル数。
  [in] | h | 表示領域の縦幅ピクセル数。

参照
  getSpriteSize()

## ◆ setSpriteSize()

void FK::fk_SpriteModel::setSpriteSize | ( | double | width = -1.0,
|  | double | height = -1.0 )

表示サイズ設定関数

画像の表示サイズを設定します。 通常は画像の設定時に自動調整を行っていますので、 敢えてそこからサイズを変更したい時に使います。 引数を省略すると、読み込んである画像と同じサイズに復元します。 数値 1 が 1 ピクセルに相当する値になります。

引数

  [in] | width | 表示サイズの横幅。-1 を指定した場合、元画像の横幅となります。
  [in] | height | 表示サイズの縦幅。-1 を指定した場合、元画像の縦幅となります。

参照
  getSpriteSize(), setPositionLT(), setSpriteArea()

## ◆ getSpriteSize()

fk_TexCoord FK::fk_SpriteModel::getSpriteSize | ( | void |  | ) |

表示サイズ取得関数

画像の表示サイズを取得します。 数値 1 が 1 ピクセルに相当する値になります。

戻り値
  u 成分と v 成分にそれぞれ幅と高さが入ります。

参照
  setSpriteSize()

## ◆ setSpriteSmoothMode()

void FK::fk_SpriteModel::setSpriteSmoothMode | ( | bool | mode | ) |

画像表示モード設定関数

画像を滑らかに表示するかどうかを制御します。 デフォルトでは滑らかに表示する設定になっています。

引数

  [in] | mode | true であれば滑らかな表示に設定し、 false であれば滑らかな表示は行いません。

参照
  getSpriteSmoothMode()

## ◆ getSpriteSmoothMode()

bool FK::fk_SpriteModel::getSpriteSmoothMode | ( | void |  | ) |

画像表示モード取得関数

画像を滑らかに表示するかどうかの状態を取得します。

戻り値
  滑らかに表示する設定であれば true を、そうでなければ false を返します。

参照
  setSpriteSmoothMode()

## ◆ initFont()

bool FK::fk_SpriteModel::initFont | ( | const std::string | fontFileName | ) |

文字列描画用フォント設定関数

文字表示を行うための、フォントの設定を行います。 drawText() による文字列表示を行いたい場合は、事前に本関数を実行する必要があります。 ここで指定するものは TrueType 形式のフォントファイルとなります。 通常は「ttf」あるいは「ttc」という拡張子のファイルとなっています。

引数

  [in] | fontFileName | フォントファイル名

戻り値
  フォントの設定に成功すれば true を、失敗すれば false を返します。

注意
  各種 OS に付属しているフォントファイルや、 商用のフォントファイルの中には、 ライセンス上再配布が禁止されているものがあります。 プログラムの配布時には必ずライセンスの確認を行ってください。

## ◆ drawText() [1/2]

void FK::fk_SpriteModel::drawText | ( | const std::string | str,
|  | fk_StringCode | code = fk_StringCode::SJIS )

文字列表示関数

指定された文字列を表示する画像を設定します。 本関数を実行する前に、事前に initFont() でフォント指定を行う必要があります。

覚え書き
  fk_SprinteModel::text メンバを制御して表示方法を変更したい場合は、 本関数を実行する前に行う必要があります。 事後に変更しても有効にならないので注意してください。

引数

  [in] | str | 指定文字列。既に設定されていた文字列があった場合は、その末尾に付け足します。
  [in] | code | 文字コード

参照
  initFont(), drawText(const std::string, bool, fk_StringCode)

## ◆ drawText() [2/2]

void FK::fk_SpriteModel::drawText | ( | const std::string | str,
|  | bool | mode,
|  | fk_StringCode | code = fk_StringCode::SJIS )

初期化設定付き文字列表示関数

指定された文字列を表示する画像を設定します。 本関数を実行する前に、事前に initFont() でフォント指定を行う必要があります。

覚え書き
  fk_SpriteModel::text メンバを制御して表示方法を変更したい場合は、 本関数を実行する前に行う必要があります。 事後に変更しても有効にならないので注意してください。

引数

  [in] | str | 指定文字列
  [in] | mode | true を渡すとこれまでに入力した文字列を一旦消去し、 新たに文字列を生成します。 false を渡すと、 drawText(const std::string, fk_StringCode) と同様に、 これまでに入力した文字列への付け足しを行います。
  [in] | code | 文字コード

参照
  initFont(), drawText(const std::string, fk_StringCode)

## ◆ clearText()

void FK::fk_SpriteModel::clearText | ( | void |  | ) |

文字列消去関数

drawText() 関数によって作成した文字列を消去します。

参照
  drawText(const std::string, fk_StringCode), drawText(const std::string, bool, fk_StringCode)

## メンバ詳解

## ◆ text

fk_TextImage FK::fk_SpriteModel::text

文字列描画設定用オブジェクト

drawText() 関数によって制御される fk_TextImage 型インスタンスです。 このメンバを直接操作することにより、フォントや表示色など多くの属性を制御できます。 詳細は、 fk_TextImage クラスのマニュアルを参照して下さい。

参照
  fk_TextImage