当前位置: 编程技术>移动开发
本页文章导读:
▪JAVAME学习札记(7) JAVAME学习笔记(7)
Sprite非常适合移动的物体,如游戏主角、敌人等等,在游戏中,可以使用Sprite提供的碰撞检测功能来简化游戏逻辑。 使用defineCollisionRectangle()定义用于碰撞检测的Sprite的矩.........
▪ ant起步和关闭tomcat ant启动和关闭tomcat
1.ant 直接启动tomcat,build.xml配置
1.1启动tomcat
注意tomcat.home是你的tomcat的安装路径
<target name="start-tomcat" description="tomcat starting.....">
<exec executable="${tomcat.home}/b.........
▪ JAVAME学习札记(8) JAVAME学习笔记(8)
Layer是一个抽象类,表示游戏中的一个可视元素。上节中讲述的Sprite就是Layer的一种。每个Layer都有位置(取决于它的左上角在其容器中的位置),宽度,高度和可视与否。.........
[1]JAVAME学习札记(7)
来源: 互联网 发布时间: 2014-02-18
JAVAME学习笔记(7)
Sprite非常适合移动的物体,如游戏主角、敌人等等,在游戏中,可以使用Sprite提供的碰撞检测功能来简化游戏逻辑。
使用defineCollisionRectangle()定义用于碰撞检测的Sprite的矩形区域。此指定的矩形是相对于未经变换的Sprite的左上角,该区域将用于检测碰撞。对于像素级的碰撞检测,仅仅在这个碰撞检测区内部的像素点会被检查。缺省的,Sprite的碰撞检测区定位在(0,0),并与Sprite尺度相同。碰撞检测区也可以指定为大于或小于缺省的碰撞检测区;如果大于缺省的碰撞检测区,在Sprite之外的像素在像素级的碰撞检测时被认为是透明的。
要判断两个Sprite是否碰撞,或者与其他Layer是否碰撞,可以使用collidesWith()方法。如果使用像素级检测,仅当非透明像素重叠时,碰撞才被检测到。即第一个Sprite中的非透明像素和第二个Sprite中的非透明像素重叠时,碰撞才被检测到。仅仅那些包含在Sprite的碰撞检测区内的像素会被检测。
如果不使用像素级检测,这个方法就简单地检查两个Sprite的碰撞检测区矩形是否有重合。 如果对Sprite应用了变换,会进行相应的处理。注意,只有两个Sprite都可见时,才能检测碰撞。
Sprite非常适合移动的物体,如游戏主角、敌人等等,在游戏中,可以使用Sprite提供的碰撞检测功能来简化游戏逻辑。
使用defineCollisionRectangle()定义用于碰撞检测的Sprite的矩形区域。此指定的矩形是相对于未经变换的Sprite的左上角,该区域将用于检测碰撞。对于像素级的碰撞检测,仅仅在这个碰撞检测区内部的像素点会被检查。缺省的,Sprite的碰撞检测区定位在(0,0),并与Sprite尺度相同。碰撞检测区也可以指定为大于或小于缺省的碰撞检测区;如果大于缺省的碰撞检测区,在Sprite之外的像素在像素级的碰撞检测时被认为是透明的。
要判断两个Sprite是否碰撞,或者与其他Layer是否碰撞,可以使用collidesWith()方法。如果使用像素级检测,仅当非透明像素重叠时,碰撞才被检测到。即第一个Sprite中的非透明像素和第二个Sprite中的非透明像素重叠时,碰撞才被检测到。仅仅那些包含在Sprite的碰撞检测区内的像素会被检测。
如果不使用像素级检测,这个方法就简单地检查两个Sprite的碰撞检测区矩形是否有重合。 如果对Sprite应用了变换,会进行相应的处理。注意,只有两个Sprite都可见时,才能检测碰撞。
[2] ant起步和关闭tomcat
来源: 互联网 发布时间: 2014-02-18
ant启动和关闭tomcat
1.ant 直接启动tomcat,build.xml配置 1.1启动tomcat
1.ant 直接启动tomcat,build.xml配置 1.1启动tomcat
注意tomcat.home是你的tomcat的安装路径
<target name="start-tomcat" description="tomcat starting....."> <exec executable="${tomcat.home}/bin/startup.bat" spawn="true" vmlauncher="false"> <env key="CATALINA_HOME" value="${tomcat.home}" /> <arg line="/c start ${tomcat.home}/bin/startup.bat" /> </exec> </target>1.2关闭tomcat
<target name="tomcat.stop"> <java jar="${tomcat.home}/bin/bootstrap.jar" fork="true"> <jvmarg value="-Dcatalina.home=${tomcat.home}"/> <arg line="stop"/> </java> <waitfor maxwait="5" maxwaitunit="second"> <available file="errors.log"/> </waitfor> </target>
[3] JAVAME学习札记(8)
来源: 互联网 发布时间: 2014-02-18
JAVAME学习笔记(8)
Layer是一个抽象类,表示游戏中的一个可视元素。上节中讲述的Sprite就是Layer的一种。每个Layer都有位置(取决于它的左上角在其容器中的位置),宽度,高度和可视与否。 Layer的子类必须实现一个paint(Graphics)方法,使得它们能够被渲染。如果该Layer可见。 Layer从它的左上角开始渲染,其当前坐标(x,y)是相对于原始的Graphics对象。当渲染Layer时,应用程序可以使用剪辑和坐标变换来控制并限制渲染的区域。实现此方法的子类有责任检查Layer是否可见,如果不可见,这个方法应该不做任何事。此外,调用此方法不应该改变Graphics对象的属性(剪辑区域,坐标变换,绘图颜色等等)。
Layer的位置坐标(x,y)通常都是相对于Graphics对象的坐标系统,该对象通过Layer的paint()方法传递。这个坐标系统被称为绘图坐标系统。一个Layer的初始位置是(0,0)。
6.4.1 TiledLayer
TiledLayer由一系列单元格组成,单元格可被一组贴图填充。这个类允许不必使用特别大的图像来创建大的虚拟层。这个技术在2D游戏中被广泛用于创建特别大的可卷动的背景。
贴图(Tiles)
贴图用于填充TiledLayer的单元格,由一个单一的可变或不可变的Image对象提供。图像被切割成一系列相同大小的贴图;贴图大小随Image一同指定。如下图所示,相同的一系列贴图可以以不同的方式存储,取决于对游戏开发者而言方便与否。
每个贴图都被赋予一个唯一的索引号。位于图像最左上角的贴图被赋予索引号1。剩下的贴图按照一行一行的顺序(首先是第一行,然后是第二行,以此类推)依次递增。这些贴图被视为静态贴图(static tiles),因为贴图和图像内容有固定的联系。
当实例化一个TiledLayer时,一组静态贴图就被创建了;也可以在任何时候调用setStaticTileSet(javax.microedition.lcdui.Image, int, int)方法来更新它们。
除了静态贴图外,开发者同样能够定义一系列动态贴图(animated tiles)。一个动态贴图就是一个虚拟的贴图,它与一个静态贴图动态地联系在一起;一个动态贴图的外观就是当时与之联系的静态贴图。
动态贴图允许开发者能非常容易地改变一组单元格的外观。对于用动态贴图填充的单元格而言,改变它们的外观仅仅需要简单地改变与动态贴图关联的静态贴图即可。此技术对于动画显示大的重复性区域非常有用,因为不需要显式地改变大量单元格的内容。
动态贴图可以通过调用createAnimatedTile(int)方法来创建,该方法返回一个索引号,用于标记新创建的动态贴图。动态贴图的索引号总是负数,并且也是连续的,起始值为-1。一旦被创建,与之关联的静态贴图可以通过调用setAnimatedTile(int, int)方法来改变。
单元格(Cells)
TiledLayer由相同大小的单元格组成;每行和每列的单元格数目在构造方法中指定,实际大小取决于贴图的大小。
每个单元格的内容由贴图索引号指定;一个正的贴图索引号代表一个静态贴图,一个负的贴图索引号代表一个动态贴图。索引号为0的贴图表示该单元格为空;为空的单元格是完全透明的,并且不会被TiledLayer绘制任何内容。缺省的,所有单元格都包含索引号为0的贴图。
Layer是一个抽象类,表示游戏中的一个可视元素。上节中讲述的Sprite就是Layer的一种。每个Layer都有位置(取决于它的左上角在其容器中的位置),宽度,高度和可视与否。 Layer的子类必须实现一个paint(Graphics)方法,使得它们能够被渲染。如果该Layer可见。 Layer从它的左上角开始渲染,其当前坐标(x,y)是相对于原始的Graphics对象。当渲染Layer时,应用程序可以使用剪辑和坐标变换来控制并限制渲染的区域。实现此方法的子类有责任检查Layer是否可见,如果不可见,这个方法应该不做任何事。此外,调用此方法不应该改变Graphics对象的属性(剪辑区域,坐标变换,绘图颜色等等)。
Layer的位置坐标(x,y)通常都是相对于Graphics对象的坐标系统,该对象通过Layer的paint()方法传递。这个坐标系统被称为绘图坐标系统。一个Layer的初始位置是(0,0)。
6.4.1 TiledLayer
TiledLayer由一系列单元格组成,单元格可被一组贴图填充。这个类允许不必使用特别大的图像来创建大的虚拟层。这个技术在2D游戏中被广泛用于创建特别大的可卷动的背景。
贴图(Tiles)
贴图用于填充TiledLayer的单元格,由一个单一的可变或不可变的Image对象提供。图像被切割成一系列相同大小的贴图;贴图大小随Image一同指定。如下图所示,相同的一系列贴图可以以不同的方式存储,取决于对游戏开发者而言方便与否。
每个贴图都被赋予一个唯一的索引号。位于图像最左上角的贴图被赋予索引号1。剩下的贴图按照一行一行的顺序(首先是第一行,然后是第二行,以此类推)依次递增。这些贴图被视为静态贴图(static tiles),因为贴图和图像内容有固定的联系。
当实例化一个TiledLayer时,一组静态贴图就被创建了;也可以在任何时候调用setStaticTileSet(javax.microedition.lcdui.Image, int, int)方法来更新它们。
除了静态贴图外,开发者同样能够定义一系列动态贴图(animated tiles)。一个动态贴图就是一个虚拟的贴图,它与一个静态贴图动态地联系在一起;一个动态贴图的外观就是当时与之联系的静态贴图。
动态贴图允许开发者能非常容易地改变一组单元格的外观。对于用动态贴图填充的单元格而言,改变它们的外观仅仅需要简单地改变与动态贴图关联的静态贴图即可。此技术对于动画显示大的重复性区域非常有用,因为不需要显式地改变大量单元格的内容。
动态贴图可以通过调用createAnimatedTile(int)方法来创建,该方法返回一个索引号,用于标记新创建的动态贴图。动态贴图的索引号总是负数,并且也是连续的,起始值为-1。一旦被创建,与之关联的静态贴图可以通过调用setAnimatedTile(int, int)方法来改变。
单元格(Cells)
TiledLayer由相同大小的单元格组成;每行和每列的单元格数目在构造方法中指定,实际大小取决于贴图的大小。
每个单元格的内容由贴图索引号指定;一个正的贴图索引号代表一个静态贴图,一个负的贴图索引号代表一个动态贴图。索引号为0的贴图表示该单元格为空;为空的单元格是完全透明的,并且不会被TiledLayer绘制任何内容。缺省的,所有单元格都包含索引号为0的贴图。
最新技术文章: