`

[转]继续让子弹飞,传统方式实现

阅读更多
http://www.cnblogs.com/heycup/archive/2011/01/26/1945281.html

昨天优化了让子弹飞的效果 http://www.cnblogs.com/heycup/archive/2011/01/25/1944704.html
为了测试各种情况下占用资源的情况,今天用传统方式实现了同样的效果
子弹数量由原来的500变成5000,经测试,二者消耗相同,5000子弹cpu占用均为15%,内存上本实现稍微多点,但是相差不多
下面是代码,moveobject类可以在昨天的代码中找到


package {
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.display.Sprite;
	import flash.events.Event;

	/**
	 * ...
	 * @author heycup@gmail.com
	 */
	public class FlyBullet extends Sprite {
		public static var w:int = 600;
		public static var h:int = 400;
		private var objects:Vector.<MoveObject> = new Vector.<MoveObject>();
		private var bullets:Vector.<Bitmap> = new Vector.<Bitmap>();
		private var maxNum:uint = 5000;

		//嵌入子弹图片
		[Embed(source='../bin/zhidan.png')]
		private var ZhiDan:Class;
		private var zhidanBmd:BitmapData;

		public function FlyBullet(){
			init();
		}

		private function init():void {
			//获取子弹的bitmapdata
			var zhidan:Bitmap = new ZhiDan();
			zhidanBmd = zhidan.bitmapData;

			//实例大量运动类及子弹
			for (var i:int = 0; i < maxNum; i++){
				var moveObject:MoveObject = new MoveObject();
				moveObject.x = w * Math.random();
				moveObject.y = h * Math.random();
				moveObject.sx = Math.random() * 5 + 1;
				moveObject.sy = Math.random() * 5 + 1;
				objects.push(moveObject);

				var bitmap:Bitmap = new Bitmap(zhidanBmd);
				bitmap.x = moveObject.x;
				bitmap.y = moveObject.y;
				addChild(bitmap);
				bullets.push(bitmap);
			}
			//开始运动
			addEventListener(Event.ENTER_FRAME, onEnterFrame);
		}

		private function onEnterFrame(e:Event):void {
			for (var i:int = 0, n:int = bullets.length; i < n; i++){
				var bullet:Bitmap = bullets[i];
				var moveObject:MoveObject = objects[i];
				bullet.x = moveObject.x;
				bullet.y = moveObject.y;
				moveObject.update();
			}
		}
	}

}

分享到:
评论

相关推荐

    让子弹飞源码

    经典的让子弹飞游戏,开发环境:vs2012 + cocos2d-x-3.2。请大家使用里面的Classes和Resources以及jni\Android.mk,其他的文件可能不一定适合你,因为链接了指向我自己作为共享库的位置,你得自己作修改。

    传智博客讲义 关于让子弹飞的课件

    《传智博客讲义:关于让子弹飞的课件》主要涵盖了如何在计算机程序中实现图形绘制,特别是针对Geograph类的应用。在这个课件中,我们将会深入学习Geograph类的功能,以及它如何帮助开发者创建出生动、动态的图形效果...

    让子弹飞经典台词-让子弹飞经典语录.doc

    让子弹飞经典台词-让子弹飞经典语录.doc

    Java窗体实现飞机躲子弹游戏

    Java窗体实现飞机躲子弹游戏是一种常见的编程练习,它涵盖了Java GUI编程的基础知识,以及基本的游戏逻辑设计。在这个游戏中,玩家通过键盘上的方向键控制飞机在窗口中的移动,以避开屏幕上不断出现的子弹。以下是对...

    oop关键技术的探讨 传智播客中让子弹飞的代码

    在"让子弹飞"的场景里,不同的子弹可能有不同的运动方式或效果,但它们都可能响应“发射”这一动作,这就是多态的表现。 5. 抽象(Abstraction): 抽象是将复杂系统简化为易于理解的模型。在OOP中,抽象类用于...

    java游戏 飞机躲避子弹

    总的来说,"java游戏 飞机躲避子弹"项目是一个很好的学习平台,它让我们能够将理论知识转化为实践,通过编写代码加深对Java封装、继承和多态的理解。同时,它也锻炼了我们的逻辑思维、问题解决和调试技能,这些都是...

    Android的小游戏打飞机(三)让子弹飞

    在本篇中,我们将深入探讨如何在Android平台上利用Cocos2d-x框架开发一款名为“打飞机”的小游戏,特别是关注“让子弹飞”这一关键功能的实现。Cocos2d-x是一个开源的游戏开发框架,它支持多平台,包括Android、iOS...

    cocos2d制作类似雷电游戏中飞机的激光子弹效果源码

    2. **动画效果**:在cocos2d中,可以使用`CCMoveTo`、`CCRotateTo`等动作类来实现子弹的移动和旋转。由于题目中提到激光子弹可以弯曲,这通常意味着我们需要在子弹运动过程中改变其方向。这可以通过定时器和回调函数...

    基于Java实现的飞机躲避子弹的游戏

    【作品名称】:基于Java实现的飞机躲避子弹的游戏 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】: 开始游戏界面...

    飞机躲避子弹游戏

    【标题】:“飞机躲避子弹游戏”是一款基于Java编程语言开发的简单休闲小游戏,它旨在提供一个轻松有趣的娱乐体验,同时也可作为学习Java编程的实践项目。 【描述】:这款“飞机躲避子弹游戏”设计简洁,易于理解,...

    镜头分析让子弹飞.pptx

    镜头分析让子弹飞.pptx

    让子弹飞的影评.doc

    让子弹飞的影评.doc

    以《让子弹飞》为例分析姜文电影的叙事风格.docx

    本文将从叙事身份、叙事方式和叙事技巧三个层面,分析姜文在《让子弹飞》中所展现出的叙事风格。 首先,在叙事身份上,姜文大胆地打破了传统电影的叙事常规,采用了限知视角。这种方式使影片不再是全知全能的叙述者...

    观《让子弹飞》有感 .docx

    《让子弹飞》是一部融合了黑色幽默与社会批判的电影,通过独特的叙事方式和鲜明的角色设定,展现了中国社会的历史风貌和人性的复杂。影片中,葛优、姜文和周润发的精彩演绎,使角色形象深入人心。 主角张麻子(姜文...

    让子弹飞,影评参考.doc

    电影《让子弹飞》是一部由姜文执导,姜文、葛优、周润发主演的黑色幽默风格的影片。影片以其独特的叙事方式和深刻的社会寓意,吸引了观众的广泛关注。从变革的角度解读,这部电影展现了不同群体在社会转型期的反应。...

    基于js的发射子弹的键盘控制的飞机

    5. **碰撞检测**:为了让游戏有挑战性,我们需要检测飞机和子弹是否碰撞到目标。这通常通过比较几何形状(如矩形)的边界来实现。JavaScript可以用来计算这些边界,并确定是否发生碰撞。 6. **用户交互**:除了移动...

    子弹发射队列链表实现的源文件

    "子弹发射队列链表实现的源文件"这个标题揭示了我们在讨论一个与游戏编程相关的主题,具体来说,是关于如何使用链表数据结构来实现子弹发射的管理。下面我们将深入探讨这一话题。 首先,我们需要理解“子弹发射队列...

    观《让子弹飞》有感.doc

    观《让子弹飞》有感.doc

    让子弹飞主题PPT学习教案.pptx

    让子弹飞主题PPT学习教案.pptx

    一个简易的躲避子弹飞机小游戏,基于最简单的java ui.zip

    一个简易的躲避子弹飞机小游戏,基于最简单的java ui 一个简易的躲避子弹飞机小游戏,基于最简单的java ui 一个简易的躲避子弹飞机小游戏,基于最简单的java ui 一个简易的躲避子弹飞机小游戏,基于最简单的java ui ...

Global site tag (gtag.js) - Google Analytics