星际飞船大战

2023-12-12 21:04
文章标签 大战 星际 飞船

本文主要是介绍星际飞船大战,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

欢迎来到程序小院

星际飞船大战

玩法:滑动鼠标控制方向,点击鼠标左键射击,生命值100分,被敌船击中减去20,
5次生命复活机会,统计分数,快去星际飞船大战吧^^。

开始游戏icon-default.png?t=N7T8https://www.ormcc.com/play/gameStart/216

html

  <canvas width="800" height="530"></canvas>

css

canvas {display: block; touch-action: none; user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); width: 800px; height: 530px; cursor: inherit;}

js

starfield = game.add.tileSprite(0, 0, 800, 600, 'starfield');
//Our bullet group
bullets = game.add.group();
bullets.enableBody = true;
bullets.physicsBodyType = Phaser.Physics.ARCADE;
bullets.createMultiple(30, 'bullet');
bullets.setAll('anchor.x', 0.5);
bullets.setAll('anchor.y', 1);
bullets.setAll('outOfBoundsKill', true);
bullets.setAll('checkWorldBounds', true);
//The hero!
player = game.add.sprite(400, 500, 'ship');
player.health = 100;
player.anchor.setTo(0.5, 0.5);
game.physics.enable(player, Phaser.Physics.ARCADE);
player.body.maxVelocity.setTo(MAXSPEED, MAXSPEED);
player.body.drag.setTo(DRAG, DRAG);
player.weaponLevel = 1
player.events.onKilled.add(function(){shipTrail.kill();
});
player.events.onRevived.add(function(){shipTrail.start(false, 5000, 10);
});
//The baddies!
greenEnemies = game.add.group();
greenEnemies.enableBody = true;
greenEnemies.physicsBodyType = Phaser.Physics.ARCADE;
greenEnemies.createMultiple(5, 'enemy-green');
greenEnemies.setAll('anchor.x', 0.5);
greenEnemies.setAll('anchor.y', 0.5);
greenEnemies.setAll('scale.x', 0.5);
greenEnemies.setAll('scale.y', 0.5);
greenEnemies.setAll('angle', 180);
greenEnemies.forEach(function(enemy){addEnemyEmitterTrail(enemy);enemy.body.setSize(enemy.width * 3 / 4, enemy.height * 3 / 4);enemy.damageAmount = 20;enemy.events.onKilled.add(function(){enemy.trail.kill();});
});
game.time.events.add(1000, launchGreenEnemy);
//Blue enemy's bullets
blueEnemyBullets = game.add.group();
blueEnemyBullets.enableBody = true;
blueEnemyBullets.physicsBodyType = Phaser.Physics.ARCADE;
blueEnemyBullets.createMultiple(30, 'blueEnemyBullet');
blueEnemyBullets.callAll('crop', null, {x: 90, y: 0, width: 90, height: 70});
blueEnemyBullets.setAll('alpha', 0.9);
blueEnemyBullets.setAll('anchor.x', 0.5);
blueEnemyBullets.setAll('anchor.y', 0.5);
blueEnemyBullets.setAll('outOfBoundsKill', true);
blueEnemyBullets.setAll('checkWorldBounds', true);
blueEnemyBullets.forEach(function(enemy){enemy.body.setSize(20, 20);
});
//More baddies!
blueEnemies = game.add.group();
blueEnemies.enableBody = true;
blueEnemies.physicsBodyType = Phaser.Physics.ARCADE;
blueEnemies.createMultiple(30, 'enemy-blue');
blueEnemies.setAll('anchor.x', 0.5);
blueEnemies.setAll('anchor.y', 0.5);
blueEnemies.setAll('scale.x', 0.5);
blueEnemies.setAll('scale.y', 0.5);
blueEnemies.setAll('angle', 180);
blueEnemies.forEach(function(enemy){enemy.damageAmount = 40;
});
//The boss
boss = game.add.sprite(0, 0, 'boss');
boss.exists = false;
boss.alive = false;
boss.anchor.setTo(0.5, 0.5);
boss.damageAmount = 50;
boss.angle = 180;
boss.scale.x = 0.6;
boss.scale.y = 0.6;
game.physics.enable(boss, Phaser.Physics.ARCADE);
boss.body.maxVelocity.setTo(100, 80);
boss.dying = false;
boss.finishOff = function() {if (!boss.dying) {boss.dying = true;bossDeath.x = boss.x;bossDeath.y = boss.y;bossDeath.start(false, 1000, 50, 20);//  kill boss after explotionsgame.time.events.add(1000, function(){var explosion = explosions.getFirstExists(false);var beforeScaleX = explosions.scale.x;var beforeScaleY = explosions.scale.y;var beforeAlpha = explosions.alpha;explosion.reset(boss.body.x + boss.body.halfWidth, boss.body.y + boss.body.halfHeight);explosion.alpha = 0.4;explosion.scale.x = 3;explosion.scale.y = 3;var animation = explosion.play('explosion', 30, false, true);animation.onComplete.addOnce(function(){explosion.scale.x = beforeScaleX;explosion.scale.y = beforeScaleY;explosion.alpha = beforeAlpha;});boss.kill();booster.kill();boss.dying = false;bossDeath.on = false;//  queue next bossbossLaunchTimer = game.time.events.add(game.rnd.integerInRange(bossSpacing, bossSpacing + 5000), launchBoss);});//  reset pacing for other enemiesblueEnemySpacing = 2500;greenEnemySpacing = 1000;//  give some bonus healthplayer.health = Math.min(100, player.health + 40);shields.render();}

源码

需要源码请关注添加好友哦^ ^

转载:欢迎来到本站,转载请注明文章出处https://ormcc.com/

这篇关于星际飞船大战的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/485926

相关文章

《战锤40K:星际战士2》超越《黑神话》 登Steam热销榜首

《使命召唤:黑色行动6》将登陆 PC Game Pass看来确实影响了销量,因为这次在 Steam 上它的预购并没有占领 Steam 热销榜单之首。这次霸榜的则是即将推出的《战锤40K:星际战士2》。 根据 SteamDB 显示,这部将于9 月 10 日发售的游戏已经面向预购了高级版本的玩家开放了抢先体验,也因此推动了大量的预购销量。该游戏不仅是目前 Steam 上预购最多的游戏,而且还是总体

Web开发基础:JavaScript飞机大战

超详细的Java知识点路线图 飞机大战 图片链接:https://pan.baidu.com/s/1elfvlHClwwDnc8buUnySPw 提取码:mi5y 功能点: 1、飞机跟着鼠标移动 在onmousemove事件中获得鼠标的坐标,设置给飞机图片 2、发射子弹 子弹需要动态添加到网页中 动态创建标签对象 document.createElement(“标签名”); 动态添加

海力士A-DIE颗粒内存条震撼发布:毁灭者星际战舰DDR5内存条登场

**海力士A-DIE颗粒内存条震撼发布:毁灭者星际战舰内存条登场** 近日,海力士正式发布了全新一代A-DIE颗粒内存条——毁灭者星际战舰DDR5 7200RGB电竞内存条。这款内存条凭借其卓越的性能和先进的技术,成为数码爱好者关注的焦点。 导语: 海力士在内存领域一直保持着领先地位,此次发布的毁灭者星际战舰内存条,更是其技术创新的结晶。该产品采用了最新的A-DIE颗粒技术,旨在

十四、坦克大战(上)

文章目录 一、坦克大战游戏演示(略)二、java绘图坐标体系三、java绘图技术3.1 快速入门3.2 绘图原理Graphics类 四、java事件处理机制五、绘制坦克5.1 坦克抽象类、己方坦克、敌方坦克5.2 自定义面板5.3 绘图界面 一、坦克大战游戏演示(略) 二、java绘图坐标体系 三、java绘图技术 3.1 快速入门 package com.g

智慧航天 | 数字孪生货运飞船运行可视化

北京时间 2021 年 6 月 17 日 9 时 22 分,搭载神州十二号载人飞船的长征二号 F 遥十二运载火箭,在酒泉卫星发射中心点火发射。17 日 18 时 28 分,航天员聂海胜、刘伯明、汤洪波先后进入天和核心舱,标志着中国人首次进入自己的空间站。 前言 今天将采用 Hightopo 的产品 HT 搭建 “天舟一号”货运飞船数字孪生管理系统。HT 三维仿真技术可多维度直观展示飞

新能源车的补能大战:画饼越来越大,实现越来越难

转眼间2024年已经过半,上半年汽车行业的竞争中,纵然有一些车企表现出色,但结合目标完成度来看,车企们却普遍未能交出高分答卷,目标完成度普遍在30%左右,仅有比亚迪、长安、吉利等少部分车企目标完成度超过了40%。 当然,汽车销量存在季节性变化,下半年利用“金九银十”和春节前的购车高峰期冲击销量,车企仍有望实现目标。然而在另一项“考试”中,今年车企们却可能要以不及格收场。 在新能源汽车市

winfrom坦克大战

http://yunpan.cn/cfdRYUPyBWDWc  提取码 bf89

B_飞船赛

B - 飞船赛 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit  Status  Practice  FZU 1021 Description 有N个飞船进行比赛,它们的跑道为直线并互相平行。每个飞船的起跑位置均不相同。第i个飞船从起跑线右边Xi处开始向右

【坦克大战一】——简单实现小结

一、【背景】       小时候对于游戏的痴迷让我对于游戏有一种心底的渴望,然而随着时间的推移阅历、经历的增加以及现在从事的编程行业似乎和游戏越来越远;在工作中对技术的要求以及未来技术的分量加上一次偶然的机会重新燃起我对游戏的渴望,不过这次的游戏并不仅仅是痴迷,而是让自己拥有一颗归零的心态在游戏编程的角度去学习那些基础的知识。       跟着马士兵教育讲解的坦克大战教程,学习完了前四节课,一

VC++实战《星际传奇》网游课程第一部分:网络游戏开发基础篇(游戏引擎设计)

我这里有套课程想和大家分享,需要的朋友可以加我qq和我联系。QQ2059055336.  《星际传奇》网络游戏实战开发教程“基础部分”课程隆重上线!   本系列课程基于最新的DirectX11接口进行深入细致的讲解,内容涉及D3D11原理与应用、DirectInput、DirectSound等; 教程中专门针对新兴的D3D11接口展开深入的讲解,详细讲解了D3D11渲染管线、