GameApp.cpp
#include <stdio.h>
#include <JGE.h>
#include <JRenderer.h>
#include <JResourceManager.h>
#include <JAnimator.h>
#include "GameApp.h"
GameApp::GameApp()
{
mResourceMgr = NULL;
mLeft = NULL;
mRight = NULL;
mCurr = NULL;
}
GameApp::~GameApp()
{
}
void GameApp::Create()
{
// JAnimator needs to get its resource from a JResourceManager
mResourceMgr = new JResourceManager();
mResourceMgr->LoadResource("animation.res");//加载背景和动画图片
// create the first animator
mLeft = new JAnimator(mResourceMgr);
mLeft->Load("left.anm");//加载左面的动画文件 文件内容需要再研究?
// create the second animator
mRight = new JAnimator(mResourceMgr);
mRight->Load("right.anm");//加载右面的动画文件 文件内容需要再研究?
mLeft->SetHotSpot(79,126);//??
mLeft->SetPosition(330,220);//左侧动画位置
mRight->SetHotSpot(79,126);
mRight->SetPosition(240,220);
// start the animation
mCurr = mLeft;//Left
mCurr->Start();//动画开始
}
void GameApp::Destroy()
{
if (mRight)
delete mRight;
if (mLeft)
delete mLeft;
if (mResourceMgr)
delete mResourceMgr;
}
void GameApp::Update()
{
JGE* engine = JGE::GetInstance();
if (engine->GetButtonClick(PSP_CTRL_TRIANGLE)) // do a screen shot when the TRIANGLE button is pressed
{
char s[80];
sprintf(s, "ms0:/screenshot.png");
JRenderer::GetInstance()->ScreenShot(s);
}
if (engine->GetButtonClick(PSP_CTRL_CROSS)) // exit when the CROSS button is pressed
{
engine->End();
return;
}
float dt = engine->GetDelta();
mCurr->Update(dt);//更新当前的动画 FrameTime默认为100.0f 毫秒 通过enm文件加载的动画信息没有这个选项= =!
// change to the other animation when the current one is done
if (!mCurr->IsAnimating())//动画结束调用另一个
{
if (mCurr == mLeft)
mCurr = mRight;
else
mCurr = mLeft;
mCurr->Start();
}
}
void GameApp::Render()
{
JRenderer* renderer = JRenderer::GetInstance();
// turn off bilinear filtering to have sharp image
renderer->EnableTextureFilter(false);//关闭双线形光栅?
// render background
renderer->RenderQuad(mResourceMgr->GetQuad("bg"), 480>>1, 272>>1);
// render animation
mCurr->Render();
}
void GameApp::Pause()
{
}
void GameApp::Resume()
{
}
分享到:
相关推荐
最简单的使用方法Animator*拖动Animator组件到窗体上。启动动画调用方法Animator.Show(targetControl)从你的密码。注意:在调用Show方法之前,目标控件必须隐藏(可见==false)。否则动画不会生效。类似地,可以使用...
使创作Flash动画中的程序也不再是难事,3D Flash动画的制作是3D Flash Animator的强项之一,在3DFlash Animator提供了真实的3D动画开发环境,你可以绘制出真的3D Model接着填入物件的材质、颜色、灯光等
Ulead GIF Animator v5
Animator Demo
Ulead GIF Animator5
CrazyTalk Animator PRO快速指南
Tail Animator Tail Animator Tail Animator Tail Animator Tail Animator
Animator(参数动画)是一个专门用于SketchUp模型动画的插件,通过参数化的交互式框架来控制对象和相机沿时间轴的移动。获取生成高质量视频外部工具FFmpeg,可以到免费SU插件下载网站-SU插件百科:...
animator-master,为任何应用程序或网站创建引人入胜的动画,博客附件,效果请查看博客相对应项目
Ulead GIF Animator 5,一款简单的GIF图片处理软件,中文简体破解
Animator Lern Demo Controller Layer Behavior BlendTree IK MatchTarget Record
Text Animator for Unity 是 Dredge、Cult of The Lamb、Slime Rancher 2 等精彩游戏的选择,它是一款功能强大且灵活的工具,只需几个简单的步骤即可让您的文本栩栩如生。 您可以一起制作字母动画和堆栈效果(从...
3D Flash Animator是一个动画制作软件,能制作出更多精彩特效!
Ulead GIF Animator 5教程
Ulead GIF Animator 5教程8动画制作实例
github上选的animator动画
Cartoon_Animator_4.4.2408.1.rar
自动生成AnimatorController的参考代码。
Animator中获取当前层的所有state,在unity3d 5.6.2版本中验证成功。