实现类似元气骑士的游戏

个人做单机游戏的总结笔记

——类似元气骑士的2.5d游戏

移动

玩家人物移动方式:

//键盘输入控制上下左右(后期用摇杆可以不用这种方式)
horizontal = Input.GetAxisRaw("Horizontal");
vertical = Input.GetAxisRaw("Vertical");

if (Mathf.Abs(horizontal) > 0.01 || Mathf.Abs(vertical) > 0.01)
{
//记录方向 
idleH=horizontal;    
idleV=vertical;
//改变人物位置,moveSpeed为人物移动速度  
transform.Translate(new Vector3(horizontal * moveSpeed* Time.deltaTime, vertical * moveSpeed* Time.deltaTime, 0),Space.World);
}

同样方式,做敌人自动移动方式(可以加上一些检测能使得敌人更加“精明”):

//用随机数来控制上下左右
if(IsPlayer == false)      
{
  horizontal = Random.Range(-1, 2);
  vertical = Random.Range(-1, 2);
}
//改变敌人的位置
enemyPos.transform.Translate(new Vector3(horizontal * moveSpeed * Time.deltaTime, vertical * moveSpeed* Time.deltaTime, 0), Space.World); 

人物攻击

近身攻击

可以在武器加触发器(武器大小要比较统一)或者在人物身前加触发器(要用代码控制使跟人物一起移动选择)

  • 个人用第二种方式(素材在网上找比较乱,所以选择这种方式,但是感觉第一种判断比较精准,敌人与玩家类似。):
    ——玩家人物近攻攻击
    Close_Attack.cs(挂载在武器子物体下的空物体)
 void Update()
    { 
    //攻击的时候才显示
        if(!Player ._instance.isAttack )
        {
            this.gameObject.SetActive(false);
        }
    }

void OnTriggerEnter2D(Collider2D collider)
    {
       if(collider.transform.tag=="Enemy")
       {
            Enemy enemy;
            enemy = collider.GetComponentInChildren<Enemy>();                                
            enemy.LoseHP(damge);//damge为伤害值,LoseHP为敌人脚本里面的掉血函数
       }
    }

Player.cs

 //攻击范围方向
h=idleH;
v=idleV;
if (v == 1)
 {
    //相当于沿Y轴翻转
    Range_Attack.localScale = new Vector3(-  Mathf.Abs(Range_Attack.localScale.x),  Range_Attack.localScale.y,  Range_Attack.localScale.z);
     //翻转后X方向会与原来不一样
     h *= -1;
 }
else
    Range_Attack.localScale = new Vector3( Mathf.Abs(Range_Attack.localScale.x, Range_Attack.localScale.y, Range_Attack.localScale.z);
//选择攻击范围,使保持在人的正前方    
float angle = Vector2.Angle(-Vector2.right, new Vector2(h, v));
Range_Attack.rotation = Quaternion.Euler(0, 0, angle);
  • 第一种方法(自己想了一下,挺简单的,可能有
  • 10
    点赞
  • 78
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
【资源说明】 基于Python开发的模仿元气骑士游戏源码+项目使用说明.zip 基于Python开发的模仿元气骑士游戏源码+项目使用说明.zip 基于Python开发的模仿元气骑士游戏源码+项目使用说明.zip 本项目开始使用NeoVim进行开发!!! 概述 这是一款基于 Python 语言和 Pygame 游戏库编写2D闯关射击游戏。 本项目使用 GPL 许可证。 详细内容请至文档 www.peler.top/PelerGame 玩法介绍 www.peler.top/PelerGame/#/Player/how_to_play 运行本项目 下载本项目,安装 requirements.txt 文件中标记的第三方库后,在项目根目录使用 Python3.7 以上版本运行 main.py 即可。 如果您使用 Windows 系统,可使用安装包安装。 优点 PelerGame 完全开源,并欢迎所有人开发。 您可以在很差的电脑上顺利运行 PelerGame。 您可以快速制作自己的地图,而不需要有任何编程知识。详情 您可以方便的自定义枪械,物品和子弹。详情 https://peler.top/PelerGame/#/Player/open_windows.md 特别声明 因在本项目线上及线下多平台多渠道的用户体验中,许多用户对本项目是否为作者本人独自完成的真实性产生怀疑,故在此特别声明: 本项目中全部代码由作者独自完成 关于项目中的图片 本项目中的部分图片为 minecraft 游戏 1.19.3 版本中的素材经简单加工而成。由于作者在美术方面的诏旨不深,暂且使用,后版本逐渐替换。 第三方库使用情况 名称 协议 网址 pygame LGPL https://www.pygame.org pygame-gui MIT https://pygame-gui.readthedocs.io/en/latest 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值