`
izuoyan
  • 浏览: 9221623 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

使用JSR-184里的Sprite3D对象

阅读更多

作者:numenzq 文章来源:http://www.j2medev.com/Article/ShowArticle.asp?ArticleID=641

在这里我们将向你介绍如何使用Sprite3D类,并向你讲述基于索尼爱立信移动手机JP3(Java Platform 3)或JP4中使用该类特殊效果的优势。

索尼爱立信采用的JAVA平台能满足开发者开发手机上的各种应用程序。目前,索尼爱立信上使用的JAVA平台有5个版本,这些版本都是和开发者共同完成的,并将协助开发者在游戏可玩性上不断提高,新的JAVA平台将引入这一特点,并公之于众。

在索尼爱立信的JAVA平台上,开发者可以修改结构,例如:CLDC1.0或CLDC1.1,并可以按不同的需求增加可选包,例如:JSR-82等。

下面是在市面上支持JAVA平台的索尼爱立信主要特点和机型。
JP = Java Platform

Sprite3D实际上就是把一张2D的图片放在3D的空间里。sprite总是正对着Camera的,而不考虑Camera的角度和World的旋转。

Sprite3D有两种类型:
1:固定模式(unscaled)
sprite的大小是由剪裁矩形的宽和高的象素值决定的。
2:缩放模式(scaled)
sprite着色的大小取决于该对象与active camera的距离。

在基于JP3或JP4的真实目标设备上实现sprite的特殊效果时。sprite不会在同一位置绘画,下面让我们看一个例子:

这是一张100*10象素的图片,我们用它来生成一个sprite,每一帧为10象素。

这是在基于JP3JP4手机上的特效,例如:索尼爱立信K700

这是在模拟器或基于JP5手机上的特效,例如:索尼爱立信K750K600

通过以上了解,在使用Sprite3D时,开发者需要为不同的目标设备改写应用程序。

需要注意的是,在使用精灵的缩放模式时,sprite必须按比例增加,增加的比例该sprite帧的个数相等的(你应该查看你的目标设备是如何实现的,在模拟器上却不需要)。

我们再看一个例子:

CompositingMode cm = new CompositingMode();

cm.setBlending(CompositingMode.ALPHA);

Appearance appearance = new Appearance();

appearance.setCompositingMode(cm);

sprite3D = new Sprite3D(false, new Image2D(Image2D.RGBA, texImg), appearance);

sprite3D.scale(10.0f, 1.0f, 1.0f);//假设该精灵由10帧组成

sprite3D.setCrop(0, 0, 10, 10);

要做成这种特殊颜色效果,首先要创建一张由这些颜色组成的png图片,并创建一个格式为RGBAImage2D的对象,然后添加CompositingModeAppearance中。

如果你要使用缩放模式的精灵,你必须通知并使用Transform类去移动精灵,精灵将会按一定缩放比例变换。

sprite3D.scale(6.0f, 1.0f, 1.0f);

sprite3D.translate(6.0f, 0.0f, 0.0f);//postTranslate(1.0f, 0.0f, 0.0f)方法同样的结果

transform.postTranslate(1.0f, 0.0f, 0.0f);

sprite3D.setTransform(transform);


分享到:
评论

相关推荐

    [JSR-184][3D编程指南]Part II: Light 3D theory and orientation

    在"src"目录中,可能包含了示例代码,展示如何使用JSR-184创建和操作3D对象,设置光源,以及处理物体的定向。这些代码可能包括定义3D形状、设置光源属性、应用变换以及渲染场景的函数。 在"res"目录下,可能包含了...

    undertow-websockets-jsr-2.1.7.Final-API文档-中文版.zip

    赠送jar包:undertow-websockets-jsr-2.1.7.Final.jar; 赠送原API文档:undertow-websockets-jsr-2.1.7.Final-javadoc.jar; 赠送源代码:undertow-websockets-jsr-2.1.7.Final-sources.jar; 赠送Maven依赖信息...

    [JSR-184][3D编程指南]Part I: Quick jump into the world of Mobile Java 3D programming

    【JSR-184】是Java Micro Edition (Java ME)平台中的一项规范,全称为“Mobile 3D Graphics API”。这个规范旨在为移动设备提供3D图形编程接口,使得开发者能够在小型设备上构建丰富的三维应用程序,如游戏、虚拟...

    undertow-websockets-jsr-2.1.7.Final-API文档-中英对照版.zip

    赠送jar包:undertow-websockets-jsr-2.1.7.Final.jar; 赠送原API文档:undertow-websockets-jsr-2.1.7.Final-javadoc.jar; 赠送源代码:undertow-websockets-jsr-2.1.7.Final-sources.jar; 赠送Maven依赖信息...

    [JSR-184][3D编程指南]Part IV:M3G built-in collision,light physics and camera perspec

    【JSR-184】是Java Micro Edition (Java ME) 中的一项标准,全称为“Mobile 3D Graphics API”,它定义了一套用于在移动设备上进行3D图形编程的接口。JSR-184的目标是让开发者能够在资源有限的移动设备上创建高质量...

    JSR-303接口标准和参考实现

    JSR-303接口标准,全称为Java Specification Request 303,是Java平台上的一个规范,旨在提供一种统一的、与框架无关的bean验证框架。该标准由Java Community Process(JCP)提出,目的是简化Java应用中的数据验证...

    jsr-275-1.0-beta-2.jar

    java.lang.ClassNotFoundException: javax.measure.converter.ConversionException所需的jar

    [JSR-184][3D编程指南]Part III: Particle systems and immediate mode rendering (2)

    【JSR-184】是Java Micro Edition (Java ME) 中的一个标准,全称为"Mobile 3D Graphics API",旨在为移动设备提供3D图形编程接口。这个标准允许开发者在小型设备上创建复杂的3D图形应用,比如游戏或者可视化工具。本...

    undertow-websockets-jsr-2.2.14.Final-API文档-中文版.zip

    赠送jar包:undertow-websockets-jsr-2.2.14.Final.jar; 赠送原API文档:undertow-websockets-jsr-2.2.14.Final-javadoc.jar; 赠送源代码:undertow-websockets-jsr-2.2.14.Final-sources.jar; 赠送Maven依赖信息...

    undertow-websockets-jsr-2.2.14.Final-API文档-中英对照版.zip

    赠送jar包:undertow-websockets-jsr-2.2.14.Final.jar; 赠送原API文档:undertow-websockets-jsr-2.2.14.Final-javadoc.jar; 赠送源代码:undertow-websockets-jsr-2.2.14.Final-sources.jar; 赠送Maven依赖信息...

    3-D_Game_Development_on_JSR-184_v1_0_3

    《3-D Game Development on JSR-184 v1_0_3》是关于使用Java 3D技术在J2ME平台上开发3D游戏的一份重要资料,它为初学者提供了一个宝贵的入门教程。JSR-184,全称为Java ME 3D API,是Java Micro Edition(J2ME)平台...

    23 Spring Core参数校验之JSR303_JSR-349注解-慕课专栏1

    以下是一个简单的例子,展示如何使用JSR 303/349/380注解进行参数校验: ```java public class User { @NotNull(message = "名称不能为空") private String name; @Min(value = 18, message = "年龄不能小于18岁...

    jsr311-api-1.1.1-API文档-中文版.zip

    赠送jar包:jsr311-api-1.1.1.jar; 赠送原API文档:jsr311-api-1.1.1-javadoc.jar; 赠送源代码:jsr311-api-1.1.1-sources.jar; 赠送Maven依赖信息文件:jsr311-api-1.1.1.pom; 包含翻译后的API文档:jsr311-api...

    [JSR-184][3D编程指南]Part V: Heightmap terrain rendering using M3G

    【JSR-184】是Java Micro Edition (Java ME) 中的一项标准,它定义了Mobile 3D Graphics API,也称为M3G。M3G是为了在移动设备上实现高性能的3D图形渲染而设计的,使得开发者可以创建丰富的3D游戏和应用。这篇【3D...

    JSR-75-135-172_Supported List.xls

    JSR-75-135-172_Supported List 主流手机对JSR 75 135 172的支持!

    JSR-184.zip_JSR184 3D_jsr184

    用jsr184编写的手机3d编程实例,用户可以任意旋转箭头,放大缩小等等。包含如何使用数据定义mesh,如何操作camera如何旋转等等,程序功能较繁杂,但是界面较粗糙(数据定义的模型当然是越简单越好啦),学习意义大于...

    SpringMVC使用JSR-303进行验证Bean.docx

    通常使用的是Hibernate Validator,它是JSR-303规范的一个成熟实现。在不使用Maven的情况下,我们需要下载`validation-api-1.1.0.Final.jar`和`hibernate-validator-5.2.4.Final.jar`两个JAR包,并将它们添加到项目...

    jackson-datatype-jsr310-2.12.5-API文档-中文版.zip

    赠送jar包:jackson-datatype-jsr310-2.12.5.jar; 赠送原API文档:jackson-datatype-jsr310-2.12.5-javadoc.jar; 赠送源代码:jackson-datatype-jsr310-2.12.5-sources.jar; 赠送Maven依赖信息文件:jackson-...

    JSR-133-JMM.zip

    本规范是JSR-176(定义了JavaTM平台 Tiger(5.0)发布版的主要特性)的一部分。本规范的标准内容将合并到JavaTM语言规范、JavaTM虚拟机规范以及java.lang包的类说明中。本JSR-133规范将不再通过JCP维护和修改。未来...

    JSR-168 Portlet指南.doc

    这意味着开发者只需要编写一次portlet,就可以在任何兼容JSR-168的门户服务器上部署和使用。 2. **互操作性**:JSR-168与Web Services for Remote Portlets (WSRP)紧密配合,允许portlet通过Web服务与其他portlet或...

Global site tag (gtag.js) - Google Analytics