spaceunity space shooterr中创建子弹射出去是倾斜的怎么修改

Unity学习笔记(20)
添加完的类似DoneMain的源码地址/s/1hsGuPZe
第六步,我们查查为什么会出这种情况,想了下与场景内碰撞有关的代码只有一处
为了方便我们把EvasiveManeuver脚本上的zMin改大点,比如2,这样敌方飞船会卡在z=2的那条线上来回乱晃,便于碰撞
再把DestroyByContact脚本中的对应行改为,便于设断点,然后在
if&(other.tag&==&&Boundary&)
&&&&&&&&&&&&return;
&&&&&&&&if&(other.tag&==&&Enemy&)&{&&
&&&&&&&&&&&&return;
出现名字为prop_asteroid_02,tag为Untagged的物体,然后我们在工程中搜索prop_asteroid_02,发现这是预设体下物体,大约是由于碰撞体在子物体上,other.gameObject看来等于子物体了,如下图
修改也很简单,就是把带碰撞体的子物体的tag也改为Enemy,同时把几个Is Trigger也勾上吧
最后来添加子弹
添加个空物体,改名Bolt_Enemy,然后子物体Quad改名VFX,删除本身的mesh collider
然后发现material中没有,自己建立个空material,fx_bolt_cyan_mat,类型改为mobile/Particle/Additive,材质选fx_lazer_cyan_dff
然后在Bolt_Enemy上添加刚体和碰撞体,mover.cs脚本,设定速度,拖入Prefabs文件夹中,在敌方飞船上添加WeaponController脚本
public&GameObject&shot; //敌方子弹的Prefab
&&&&public&Transform&shotSpawn;
//在敌方飞船上子弹出射点的坐标
&&&&public&float&fireRate;&
//开火频率
&&&&public&float&delay;
//第一次开火前的延迟
&&&&AudioSource&enemyBoltAudio;
&&&&//&Use&this&for&initialization
&&&&void&Start&()&{
&&&&&&&&enemyBoltAudio&=&GetComponent&AudioSource&&();&
//取得开火音源
&&&&&&&&InvokeRepeating&(&Fire&,&delay,
&&&&&&&&&&&&fireRate); //在delay秒后,每隔fireRate时间执行一次Fire函数
&&&&void&Fire()
&&&&&&&&Instantiate&(shot,
&&&&&&&&&&&&shotSpawn.position,&shotSpawn.rotation);
//初始化一颗子弹,位置在shotSpawn上,速度是在子弹上的Mover脚本定的
&&&&&&&&enemyBoltAudio.Play&();
//播放子弹出射声音片段
然后测试下,发现我忘了把子弹tag改为Enemy,那么加上,还有敌方子弹上需要一个DestroyByContact脚本以免打中人,加上和对应参数,然后子弹可以互相对掉了。然后万一发生什么方向反了,范围大小需要调整等问题自己根据情况调整下,这样大体看起来没什么问题了,没时间详细测试,这样应该可以了,如果谁有什么问题可以评论反馈给我,我再调一下。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:12309次
排名:千里之外
原创:38篇
(1)(1)(4)(9)(14)(10)冲突:太空射击 Clash-SpaceShooter 中文wiki_冲突:太空射击官网图鉴_冲突:太空射击下载_修改 replays.netV喜欢65535评分卡玩家评分:0.0评分 您的评分:0
游戏介绍玩家评价()常见问题推荐内容冲突:太空射击介绍小编点评:游戏名称:冲突:太空射击原&&&&&&名:Clash-SpaceShooter 发&行&商:&开&发&商:&联网类型:简介:《冲突:太空射击 Clash - Space Shooter》是一款2.5D的空间射击游戏。设计你的太空船,在银河系前进。增加弹药伤害!增加船体阻力!升级你的武器模型,子弹速度快,船体恢复,暴击伤害等。 5对统计覆盖你的船的各个方面。至于你的水平了,解锁新的技能装备。要小心与精英和BOSS,他们的技能通常是开着的!
【游戏特色】
- 游戏手柄支持
- 战役模式,40关卡
- 挑战模式,生存战和boss战。
- 四个级别的难度设置
- 纵向和横向视图
- 敌人 AI 强大
- 5致命Boss
- 技能系统
- 船舶升级
【关于修改】
- 游戏中得到任意水晶即可获得9999889水晶详细介绍《冲突:太空射击 Clash - Space Shooter》是一款2.5D的空间射击游戏。设计你的太空船,在银河系前进。增加弹药伤害!增加船体阻力!升级你的武器模型,子弹速度快,船体恢复,暴击伤害等。 5对统计覆盖你的船的各个方面。至于你的水平了,解锁新的技能装备。要小心与精英和BOSS,他们的技能通常是开着的!【游戏特色】- 游戏手柄支持- 战役模式,40关卡- 挑战模式,生存战和boss战。- 四个级别的难度设置- 纵向和横向视图- 敌人 AI 强大- 5致命Boss- 技能系统- 船舶升级【关于修改】- 游戏中得到任意水晶即可获得9999889水晶玩家评论开发商信息开发游戏休闲益智角色扮演角色扮演发行商信息发行游戏休闲益智角色扮演角色扮演猜你喜欢后使用快捷导航没有帐号?
其他登录方式
查看: 3084|回复: 43
在线时间7755 小时最后登录阅读权限65UID983608注册时间积分24412精华2
, 积分 24412, 距离下一级还需 5588 积分
主题帖子 金币1930 元 智豆52 点
本帖最后由 wstcahhh 于
23:01 编辑
22:42 上传
游戏名称太空闪电战游戏版本1.0.1游戏大小23M适用机型通用机型
22:42 上传
游戏视频播放:
游戏简介:
加拿大最大的独立游戏开发公司Frima Studios又公布了一款新游戏的上线时间,《A Space Shooter Blitz》,我们暂且叫它“太空闪电战”,将于日正式上线。
光看名字大家就会猜到,这是一款太空主题的射击游戏,而Frima Studios用“地狱射击”来形容它,因为游戏中将会出现满屏幕、躲都躲不掉的子弹。与其他同题材游戏相似,在《A Space Shooter Blitz》中玩家不仅要击落敌机,还要躲避密密麻麻的子弹。游戏的画风有一点复古风格,带给玩家类似街机的感觉。
游戏支持跨平台操作,这意味着如果你在手机上玩到第二关某个位置,回到家后还可以在PS3上接着刚才的位置玩。同样也支持线上对战,朋友间的较量才真的有趣。 在一个疯狂的1分钟快棋,拍摄尽可能多的敌人,尽量不被打现在臭名昭著的“太空射手”的专营权,在所有平台上接近一万次的下载,登陆App Store上的一个新的概念和大规模跨平台的互动性!挑战你的朋友忙碌的,复古风格的射击游戏bulletfest与P.杰斐逊指挥官在不断强大的USS根除的掌舵人。珍娜的店齿轮,快速停止在挑选了一系列很酷的电源,并准备好到爆一些外国人!在一个疯狂的快节奏的一分钟闪电战,尽可能不被打得到你的​​分数滚动拍摄尽可能多的敌人。看,乘数指标:它会更高,更多的敌人和玩家都困难,但你更快的耙点。在这种生存挑战,面临关闭对一个特殊的老板在发送你的分数通过屋顶的史诗般的战斗!您可以得到:- 5个随机的老板和5个独特的老板
- 7电源UPS和在游戏中lootable的升级的
- 30的成绩
-通过其他移动设备和Facebook!一个完整的跨平台的经验
-每周排行榜
-无限的机会来展示你的朋友,谁是老板!
电子市场衔接:
游戏截图:
22:42 上传
22:42 上传
22:42 上传
22:42 上传
22:42 上传
22:42 上传
22:42 上传
【免责声明】
一、本软件源自互联网,请勿在未经本软件版权所有者书面授权的情况下用于商业用途。
二、 如果您喜欢本软,请购买正版,
三、 本软件不保证能兼容和适用于所有 Android 平台和系统,有可能引起冲突和导致不可预测的问题出现,请自行承担使用本软件而导致的风险和后果
四、 转载本软件,请注明作者及出处!
请记住我们的永久网址:
回复后立即下载:
游客,如果您要查看本帖隐藏内容请或点击感谢按钮
(25.92 KB, 下载次数: 0)
22:42 上传
下载次数: 0
在线时间196 小时最后登录阅读权限20UID2855621注册时间积分296精华0
, 积分 296, 距离下一级还需 104 积分
主题帖子 金币816 元 智豆2 点
看着不怎么额滴!
在线时间880 小时最后登录阅读权限35UID3288427注册时间积分1266精华0
, 积分 1266, 距离下一级还需 534 积分
主题帖子 金币1676 元 智豆0 点
回帖后跳转到最后一页
在线时间532 小时最后登录阅读权限20UID4839657注册时间积分647精华0
, 积分 647, 距离下一级还需 53 积分
主题帖子 金币504 元 智豆0 点
智友移动版
卡通类型,我喜欢!
在线时间0 小时最后登录阅读权限10UID3620451注册时间积分5精华0
, 积分 5, 距离下一级还需 15 积分
主题帖子 金币18 元 智豆0 点
我喜欢的游戏吗?
在线时间3481 小时最后登录阅读权限50UID3807577注册时间积分7575精华0
, 积分 7575, 距离下一级还需 425 积分
主题帖子 金币17191 元 智豆0 点
感谢分享精彩游戏资源
在线时间11413 小时最后登录阅读权限65UID4141592注册时间积分19049精华0
, 积分 19049, 距离下一级还需 10951 积分
主题帖子 金币1421 元 智豆0 点
不错。支持
在线时间103 小时最后登录阅读权限20UID3025566注册时间积分170精华0
, 积分 170, 距离下一级还需 30 积分
主题帖子 金币142 元 智豆0 点
安智有您更精彩!
在线时间9 小时最后登录阅读权限10UID5106062注册时间积分18精华0
, 积分 18, 距离下一级还需 2 积分
主题帖子 金币33 元 智豆0 点
{:259:}支持楼主
在线时间161 小时最后登录阅读权限20UID1061356注册时间积分227精华0
, 积分 227, 距离下一级还需 173 积分
主题帖子 金币181 元 智豆1 点
呵呵。横屏的飞机游戏啊?
N-Gage N93i
V70 “刀锋”V3 W880SpaceShooter打飞机教程笔记(三)
SpaceShooter打飞机教程笔记(三)
七、射击功能
1.创建空命名为Shot Spawn为子弹挂载体,设置位置,获取子弹预制体,挂载体相对位置,实例化。(射出很多的子弹是什么问题,是因为FireRate未进行值设置,会导致发射频率很快,但可以加入进化版的改进内容。)
在PlayerManager.cs中添加下列代码
public GameO
public Transform shotS
public float fireR
private float nextF
void Update()
if (Input.GetButton("Fire1") && Time.time & nextFire)
nextFire = Time.time + fireR
Instantiate(shot, shotSpawn.position, shotSpawn.rotation);
八、边界设定
用来界定活动区域,子弹触碰到会消失,流星触碰到会消失,敌机触碰到会消失,不会过多占有内存。
1.创建cube命名为Boundary,覆盖画面,去掉材质网格(Mesh Renderer)会变成透明,勾选Collider触发(Is Trigger),添加脚本(DestoryByBoundary.cs)实现摧毁子弹功能。
(为什么会无效,注意OnTriggerExit的单词拼写)
(为什么消掉了子类VXF,却没有消掉父类bolt,因为把触碰器放在了子类,修改放在父类会解决问题)
using UnityE
using System.C
public class DestoryByBoundary : MonoBehaviour {
void OnTriggerExit(Collider other)
Destroy(other.gameObject);
九、旋转行星和摧毁行星
1.旋转功能,获取物体的角速度旋转angularVelocity,和随机insideUnitSphere让行星旋转。
2.创建空为Asteroid(重置),拖入行星,父类逻辑控制,子类纹理,增加Rigidbody,去掉重力,增加胶囊Collider,调整胶囊。
3.增加Mover脚本,给予负的速度。
4.增加RandomRotator脚本,使用钢体角速度的方法。
5.创建DestoryByContact.cs 脚本,利用OnTriggerEnter触碰方法摧毁接触物体,利用tag==“Boundary”来标记Boundary。
(会发生透明的情况,特别是立起来的时候,摄影机的位置要提高位置,物体出现在摄影机的后面导致部分透明无法显示)(怎么确定脚本放置的位置,根据脚本的目的)
RandomRotator.cs//行星的随机选择效果脚本
using UnityE
using System.C
public class RandomRotator : MonoBehaviour {
public float
void Start()
GetComponent&Rigidbody&().angularVelocity = Random.insideUnitSphere *
DestoryByContact.cs
//销毁行星
using UnityE
using System.C
public class DestoryByContact : MonoBehaviour {
public GameO
public GameObject playerE
void OnTriggerEnter(Collider other)
if (other.tag == "Boundary" || other.tag == "Enemy")
if (explosion != null)
Instantiate(explosion, transform.position, transform.rotation);
if (other.tag == "Player")
Instantiate(playerExplosion, other.transform.position, other.transform.rotation);
Destroy(other.gameObject);
Destroy(this.gameObject);
我的热门文章
即使是一小步也想与你分享}

我要回帖

更多关于 space shooter 教程 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信