FineKernelToolKit 4.2.13
読み取り中…
検索中…
一致する文字列を見つけられません
公開メンバ関数 | 公開変数類 | 全メンバ一覧
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_ImagegetImage (void)
 画像データ参照関数
 
fk_RectTexturegetTexture (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_ShapegetShape (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_MaterialgetMaterial (void)
 マテリアル参照関数
 
fk_ColorgetPointColor (void)
 頂点色参照関数
 
fk_ColorgetLineColor (void)
 稜線色参照関数
 
fk_ColorgetCurveColor (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_ModelgetParent (void) const
 親モデル参照関数
 
bool entryChild (fk_Model *model, bool setMode=false)
 子モデル設定関数
 
bool deleteChild (fk_Model *model, bool setMode=false)
 子モデル解除関数
 
void deleteChildren (bool setMode=false)
 全子モデル解除関数
 
fk_ModelforeachChild (fk_Model *model)
 子モデル逐次参照関数
 
void snapShot (void)
 位置・姿勢保存関数
 
bool restore (void)
 位置・姿勢復元関数
 
bool restore (double t)
 位置・姿勢途中復元関数
 
void setShader (fk_ShaderBinder *shader)
 シェーダー設定関数
 
fk_ShaderBindergetShader (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)
 干渉自動停止モデル初期化関数
 
- 基底クラス 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_VectorgetAABBMaxMin (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_VectorgetOBBMaxMin (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_VectorgetCapsulePos (void)
 カプセル型中心軸両端点取得関数
 
fk_Vector getCapsuleStartPos (void)
 カプセル型中心軸始点取得関数
 
fk_Vector getCapsuleEndPos (void)
 カプセル型中心軸終点取得関数
 
void setBDrawToggle (bool mode)
 境界ボリューム描画有無設定関数
 
bool getBDrawToggle (void)
 境界ボリューム描画有無取得関数
 
void setBLineColor (fk_Color col)
 境界ボリューム非干渉描画色設定関数
 
fk_ColorgetBLineColor (void)
 境界ボリューム非干渉描画色取得関数
 
void setBIntLineColor (fk_Color col)
 境界ボリューム干渉状態描画色設定関数
 
fk_ColorgetBIntLineColor (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
 文字列描画設定用オブジェクト
 

詳解

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]filenameBMP形式ファイル名
戻り値
成功したら true を、失敗したら false を返します。

◆ readPNG()

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

PNG画像読み込み関数

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

引数
[in]filenamePNG形式ファイル名
戻り値
成功したら true を、失敗したら false を返します。

◆ readJPG()

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

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

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

引数
[in]filenamePNG形式ファイル名
戻り値
成功したら 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]modetrue であれば滑らかな表示に設定し、 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]modetrue を渡すとこれまでに入力した文字列を一旦消去し、 新たに文字列を生成します。 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