`
wangshu3000
  • 浏览: 135810 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

PSP程序开发例子解析(八)Animator

 
阅读更多
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()
{

}

 

分享到:
评论

相关推荐

    Text Animator for Unity 文字动画插件.rar

    在众多的Unity资源中,Text Animator是一个专门针对文字动画效果的插件,为游戏或者应用程序中的文本元素添加生动有趣的动态效果。本文将深入探讨Text Animator for Unity 1.3.1版本的功能、用法以及如何在项目中...

    animator-master.zip

    通过"animator-master",开发者无需深入学习复杂的动画框架,就能轻松创建出专业的动画效果,大大提升了开发效率。 对于网页设计师而言,"animator-master"同样是个得力助手。网站上的动画可以增加视觉冲击力,引导...

    Camera Path Animator unity3d 插件

    Unity3D,作为全球领先的实时3D创作工具,被广泛应用于游戏开发、虚拟现实、增强现实等领域。在这些项目中,相机的运动轨迹和动画设计至关重要,它们直接影响到用户体验和视觉效果。今天,我们要深入探讨的是一款专...

    AnimatorController自动生成

    AnimatorController 是 Unity3D 游戏开发中的一个重要组件,它负责管理动画的播放和切换。但是,在使用 Machine 动画时,需要手动创建 AnimatorController 文件,并将动画绑定到上面,这个过程非常繁琐和容易出错。...

    Text Animator for Unity 2.0.2

    Text Animator for Unity 是 Dredge、Cult of The Lamb、Slime Rancher 2 等精彩游戏的选择,它是一款功能强大且灵活的工具,只需几个简单的步骤即可让您的文本栩栩如生。 您可以一起制作字母动画和堆栈效果(从...

    Animator-master_Cachaanimator_Anime_

    最简单的使用方法Animator*拖动Animator组件到窗体上。启动动画调用方法Animator.Show(targetControl)从你的密码。注意:在调用Show方法之前,目标控件必须隐藏(可见==false)。否则动画不会生效。类似地,可以使用...

    3D Flash Animator 4.9

    在实际操作中,用户可以利用"3DFlashAnimator4Setup.exe"文件进行软件的安装,该文件是3D Flash Animator 4.9的安装程序,只需按照向导提示即可完成安装。而"说明.txt"文件则是软件的使用指南,其中包含了详细的步骤...

    DELPHI的GifAnimator控件

    总的来说,GifAnimator控件为Delphi开发者提供了一个强大的工具,使得在应用程序中集成和控制GIF动画变得简单。通过深入理解这些源代码文件,开发者不仅可以自定义控件的行为,还可以学习到GIF动画处理的相关技术。

    Animator Demo

    在Android开发中,动画是提升用户体验的关键因素,它使得用户界面更加生动、吸引人。Animator类库提供了对对象属性动画的支持,不同于早期的Animation类库,Animator能够直接改变对象的属性值,实现更为细腻和流畅的...

    SketchUp插件|SU插件|参数动画 Animator_v2.8a.rbz

    Animator(参数动画)是一个专门用于SketchUp模型动画的插件,通过参数化的交互式框架来控制对象和相机沿时间轴的移动。获取生成高质量视频外部工具FFmpeg,可以到免费SU插件下载网站-SU插件百科:...

    3D Flash Animator v3.80

    使创作Flash动画中的程序也不再是难事,3D Flash动画的制作是3D Flash Animator的强项之一,在3DFlash Animator提供了真实的3D动画开发环境,你可以绘制出真的3D Model接着填入物件的材质、颜色、灯光等

    Ulead GIF Animator v5

    Ulead GIF Animator v5是一款历史悠久且功能强大的GIF动画制作软件,由Corel公司旗下的Ulead Systems开发。这款软件在当时被誉为GIF动画设计者的得力助手,它为用户提供了丰富的工具和功能,使得创建动态、富有表现...

    Spine Animator v1.0.2.rar

    总的来说,Spine Animator v1.0.2是Unity开发者在2D动画制作上的得力助手,它的易用性、强大的动画编辑功能以及对网络同步的支持,使它成为2D游戏开发中的首选工具之一。掌握并熟练使用这款工具,对于提升游戏的视觉...

    Tail Animator 2.0.0

    Tail Animator Tail Animator Tail Animator Tail Animator Tail Animator

    Animator 开场动画 预加载

    在Android开发中,开场动画(Splash Screen)是应用启动时展示的一种视觉效果,它能提升用户体验,同时在后台进行一些预加载操作。本篇将详细探讨如何使用`Animator`来实现这样的功能,以及预加载的一些策略和技术。...

    Autodesk Animator’s FLI player(53KB)

    标题中的“Autodesk Animator’s FLI player”是一款由Autodesk公司开发的用于播放FLI(Frame Looping Image)格式动画的软件。FLI是早期的计算机图形格式,主要用于动画和视频回放,尤其是在桌面出版和专业图形设计...

    Ulead GIF Animator 5简中破解

    Ulead GIF Animator 5,一款简单的GIF图片处理软件,中文简体破解

    Text Animator for Unity v1.3.1插件分享

    Unity作为一款广泛应用的游戏开发引擎,其丰富的资源库和强大的扩展性使得开发者可以创造出各种各样的视觉效果。Text Animator for Unity是一款专为Unity设计的字体动效插件,它为文本元素带来了丰富的动画效果,极...

    animator动画material-ripple

    在Android开发中,动画效果是提升用户体验的重要手段,而Animator作为Android提供的一种强大的动画工具,能够帮助开发者实现丰富的动态效果。本篇文章将深入探讨`animator`动画及其在Material Design中的`ripple`...

Global site tag (gtag.js) - Google Analytics