Cocos2d—android 中常用的工具类

Cocos2d—android 中常用的工具类,第1张

概述<span style="font-size:18px;"> 在开发游戏过程中通常会用到一个经常编写的重复的代码,比如加载游戏地图,从地图中加载指定点的集合,序列帧的播放等等,下面的这个类就可以完全实现,而不需要重复的编写。</span> /** * 通用工具 * * @author Administrator * */public class CommonUtil {
<span >     在开发游戏过程中通常会用到一个经常编写的重复的代码,比如加载游戏地图,从地图中加载指定点的集合,序列帧的播放等等,下面的这个类就可以完全实现,而不需要重复的编写。</span>
/** * 通用工具 *  * @author administrator *  */public class CommonUtil {	/**	 * 加载游戏地图	 * @param tmxfile	 * @return	 */	public static CCTMXTiledMap loadMap(String tmxfile)	{		CCTMXTiledMap gameMap = CCTMXTiledMap.tiledMap(tmxfile);				//便于手动平移地图		gameMap.setAnchorPoint(0.5f,0.5f);		CGSize contentSize = gameMap.getContentSize();		gameMap.setposition(contentSize.wIDth / 2,contentSize.height / 2);				return gameMap;	}	/**	 * 从地图中加载指定名称的点集合	 * @param map	 * @param name	 * @return	 */	public static List<CGPoint> loadPoint(CCTMXTiledMap map,String name)	{		CCTMXObjectGroup objectGroup = map.objectGroupnamed(name);		// 获取僵尸位置信息		ArrayList<HashMap<String,String>> objects = objectGroup.objects;		// 分别以x和y为键,获取坐标值信息---->封装到点集合中		List<CGPoint> points = new ArrayList<CGPoint>();		for (HashMap<String,String> item : objects) {			float x = float.parsefloat(item.get("x"));			float y = float.parsefloat(item.get("y"));			points.add(CGPoint.ccp(x,y));		}		return points;	}				/**	 * 序列帧播放(永不停止)	 * 	 * @param frames	 * @param num	 *            当前加载的图片数量	 * @param filepath	 *            路径(通用)	 * @return	 */	public static CCAction getRepeatForeverAnimate(ArrayList<CCSpriteFrame> frames,int num,String filepath) {		if (frames == null) {			frames = new ArrayList<CCSpriteFrame>();			for (int i = 1; i <= num; i++) {				frames.add(CCSprite.sprite(String.format(filepath,i)).displayedFrame());			}		}		CCAnimation anim = CCAnimation.animation("",0.2f,frames);		CCAnimate animate = CCAnimate.action(anim);		return CCRepeatForever.action(animate);	}	/**	 * 播放一次的序列帧	 */	public static CCAnimate getAnimate(ArrayList<CCSpriteFrame> frames,String filepath) {		if (frames == null) {			frames = new ArrayList<CCSpriteFrame>();			// frames信息加载			for (int i = 1; i <= num; i++) {				frames.add(CCSprite.sprite(String.format(filepath,i)).displayedFrame());			}		}		CCAnimation animation = CCAnimation.animation("",frames);		return CCAnimate.action(animation,false);// 只播放一次	}	/**	 * 判断是否被点击	 * 	 * @param event	 * @param node	 * @return	 */	public static boolean isClicke(MotionEvent event,cclayer layer,CCNode node) {		CGPoint point = layer.converttouchToNodeSpace(event);		return CGRect.containsPoint(node.getBoundingBox(),point);	}	//	// /**	// * 判断是否被点击	// *	// * @param touchPoint	// * @param node	// * @return	// */	// public static boolean isClicke(CGPoint touchPoint,CCNode node) {	// return CGRect.containsPoint(node.getBoundingBox(),touchPoint);	// }	/**	 * 切换场景	 * @param targetLayer	 */	public static voID changeLayer(cclayer targetLayer)	{		CCScene scene = CCScene.node();		scene.addChild(targetLayer);		CCFadeTransition Transition = CCFadeTransition.Transition(1,scene);		CCDirector.sharedDirector().replaceScene(Transition);	}}
总结

以上是内存溢出为你收集整理的Cocos2d—android 中常用工具类全部内容,希望文章能够帮你解决Cocos2d—android 中常用的工具类所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1069102.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存