2D吃豆人一些自以为有用的功能总结

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

实现2D主角移动,跳跃和转头函数

public bool facingRight=true;
public float movespeed;
public float moveForce = 365f;
public float maxSpeed = 5f;
public float jumpForce = 1000f;

private Transform groundCheck;
private bool grounded = false;
private Animator anim;
 public bool jump = false;
void Flip()
{
  facingRight=!facingRight;
  Vector3 theScale=transform.localScale;
  theScale.x*=-1;
  transform.localScale=theScale;
}
void Start () {
        anim = GetComponent<Animator>();
 }
void Update () {
        if (Input.GetButtonDown("Jump"))
            jump = true;
            GetComponent<Rigidbody2D>().
            constraints = RigidbodyConstraints2D.FreezeRotation;
 }
 void FixedUpdate()
    {
        float h = Input.GetAxis("Horizontal");
        anim.SetFloat("Speed", Mathf.Abs(h));
        Rigidbody2D rb = GetComponent<Rigidbody2D>();
        if (h * rb.velocity.x < maxSpeed)
            rb.AddForce(Vector2.right * h * moveForce);
        if (Mathf.Abs(rb.velocity.x) > maxSpeed)
            rb.velocity = new Vector2(Mathf.Sign(rb.velocity.x) * maxSpeed, rb.velocity.y);
        if (h > 0 && !facingRight) Flip();
        else if (h < 0 && facingRight) Flip();
        if(jump)
        {
            anim.SetTrigger("Jump");
            rb.AddForce(new Vector2(0, jumpForce));
            jump = false;
        }
    }
}

使用TileMap快速搭建2D游戏场景

首先在场景创建TileMap在这里插入图片描述
接着打开Talpaletter
在这里插入图片描述
然后把要绘制的场景,整个拖进。点击画笔就可以在scene绘制

给场景赋予碰撞体的话需要在给Grid的Tilemap添加Tilemap collider2D和rigidbody 2D组件,然后为了让地面不受重力掉下去或者被它上表面的物体压下去,将rigidbody 2D设为静态(static)刚体
//此功能是转载别人的,侵删
在这里插入图片描述

Rigidbody2D锁定对象旋转,使其装上碰撞器时不会随意翻转角度

GetComponent().constraints = RigidbodyConstraints2D.FreezeRotation;

实现摄像机跟随player

把以下代码挂在主相机

public GameObject player;
public float speed;

public float minPos;
public float maxPos;
void Start()
{
}
void Update()
{
  FixCameraPos();
}
void FixCameraPos()
{
  float pPoX=player.transform.position.x;
  float cPoX=transform.position.x;
if(pPoX-cPoX>3)
{
  transform.positon=new Vector3(cPoX+speed*Time.deltaTime,transform.position.y,transform.position.z);
  
}if(pPoX-cPoX<-3)
{
  transform.position=new Vector3(cPoX-speed*Time.deltaTime,transform.position.y,transform.position.z);
}
float realPosX=Mathf.Clamp(transform.position.x,minPosx,maxPox);//限制摄像机移动

transform.position=new Vector3(realPosX,transform.position.y,transform.position.z);

}



C++ 使用 openGL 实现游戏 阅读详情

相关推荐

pacman》源码

使用Unity 2D制作经典游戏《》  http://forum.china.unity3d.com/thread-13546-1-1.html 原帖,我就是对着学了,开始学习Unity3D啦,第一个游戏,完整复制。

ESLLearners的博客 1万+

经典网页游戏快乐.zip

利用html5开发的经典小游戏系列5,网页游戏快乐。里面包含了游戏开发代码,即下即玩,也适用于html5游戏开发者的入门学习

基于Canvas的小游戏(附完整源码,TypeScript)

(Pac-Man)是一款经典的街机游戏,自1980年推出以来,一直是游戏界的标志性作品。玩家控制一个黄色的小圆点,在迷宫中移动,掉所有的子,同时躲避追逐的幽灵。当玩家触碰到幽灵时,游戏结束。这款游戏不仅考验玩家的反应能力,还考验策略和规划能力。在本项目中,我们将使用TypeScriptReact和来实现一个简化版的游戏。通过这个项目,你将了解到如何结合现代前端技术来实现经典游戏的复刻,并掌握游戏开发中的一些核心技术。

Whoisbug的博客 1075

伯克利工智能作业——四大寻路算法,以及改进

伯克利工智能先导课cs188作业,,包含四大寻路算法寻找最短路径,代码有注释,实现了最短路径完所有子的a星算法的改进版

python毕设分享 小游戏设计与实现 (源码)

🔥 Hi,各位同学好呀,这里是L学长!🥇今天向大家分享一个今年(2022)最新完成的毕业设计项目作品python小游戏毕设 小游戏设计与实现 (源码)🥇 学长根据实现的难度和等级对项目进行评分(最低0分,满分5分)难度系数:3分工作量:3分创新点:4分是电子游戏历史上的经典街机游戏,由Namco公司的岩谷彻设计并由Midway Games在1980年发行。Pac-Man被认为是80年代最经典的街机游戏之一,游戏的主角小精灵的形象甚至被作为一种大众文化符号,或是此产业的代表形象。

mabile123444的博客 2555

Unity2D游戏制作入门 | 06

理解和物移动有关的组件信息,然后知道如果修改里面的变量物会发生什么变化。在代码中我们用变量接收组件的变量,进行可以在游戏中new一个出来,在执行时游戏进行物理的更新就会覆盖我们之前的组件的变量的值了,从来达到了我们物移动,或是翻转的效果。好好复习吧,希望写代码的过程能在你头脑中更加的清晰。ps:其实我也不想写太多,但是担心这样不够细节和严谨,所以还是尽量把事情说明白照顾下新,也方便复习的时候不是那么的摸不着头脑。

widhejd393的博客 1154

Unity复刻经典-

在本教程中,我们将通过Unity强大的2D特性,只用简短的几十行核心代码复制出一款游戏,这是一款针对小白的Unity 2D游戏教程,如果你已了解GameObject,Prefab和Transform,那么你已经准备好了。来,跟老师一起去拯救吧。

unity

2d

Yamoonn的博客 2456

【Unity3D开发小游戏】《》Unity开发教程

一、前言 让我们在Unity里面制作一款游戏,最初的游戏于1980年10月发布,并很快成为有史以来最著名的街机游戏。这款游戏非常受欢迎,甚至连Unity公司也在他们的游戏引擎中加入了其中的一小部分: 在本教程中,我们将使用Unity强大的2D功能,制作一个游戏,我们会尽量让代码简单,像往常一样,尽可能的简单地解释,这样每个都能理解它。 二、效果图 三、教程 注意:版本号,U...

CSDN博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 6127

解析“”小游戏,附赠免费完整代码

”游戏是一款经典的街机游戏。在这个简化版的实现中,玩家控制一个黄色的圆形()在画布上移动,目标是掉随机生成的红色子。每当子发生碰撞,子的位置会重新生成,等待玩家再次捕捉。接下来,我们定义玩家()和子在游戏中的属性。这包括它们的初始位置、尺寸、速度等等。speed: 5,dx: 0,dy: 0radius: 10解释player对象代表,包含了位置(x和y)、半径(大小)、速度(speed),以及当前的移动方向(dx和dybean。

努力是为了站在万人之中,成为别人的光 8678

【UE开发】2DDemo

/预处理#pragma once//编译一次#include "CoreMinimal.h"//核心编程环境#include "GameFramework/Actor.h"//Actor源代码#include "Pacdot.generated.h"//反射机制//类public://构造函数声明APacdot();//球体碰撞组件变量//网格体组件变量//超级属性变量protected://游戏开始函数声明public://游戏每帧函数声明//预处理。

sjadow的博客 926

layaair typescipta*算法实现

基于layaair引擎用typesript开发的游戏A*算法的实现

游戏开发

游戏,实现遗忘的游戏风格,在简单的程序中编译出来,虽然还是不够完美,但是还是可以玩的

使用Pygame制作“”游戏

本篇博客展示如何使用 Python + Pygame 编写一个简易版的“(Pac-Man)” 风格游戏。这里我们暂且命名为 Py-Man。玩家需要控制主角在一个网格地图里移动、掉散布在各处的子,并躲避在地图中巡逻的幽灵。此示例可帮助你理解网格地图、角色移动、敌随机移动、碰撞与得分等常见2D游戏开发技巧。

踏雨歌青春,诗酒趁年华 2746

毕业设计项目 python小游戏设计 小游戏

本文介绍了基于Python的小游戏设计与实现。该游戏采用Pygame模块开发,还原了经典街机游戏的玩法:玩家通过方向键控制掉迷宫内所有子,同时躲避鬼魂追捕。文章详细阐述了游戏设计原理,包括环境配置、游戏类创建(墙、食物、角色)、地图构建以及主循环实现。项目采用模块化设计,代码结构清晰,包含关卡切换、游戏胜负判定等功能。该毕业设计项目难度适中,具有创新性,可作为Python游戏开发的参考案例。完整项目代码可通过文末方式获取。

knooor的博客 886

Unity2D小游戏资源

Unity2D小游戏资源 【下载地址】Unity2D小游戏资源 这是一款基于Unity引擎开发的2D小游戏资源,专为初学者设计,帮助快速掌握Unity游戏开发的基础知识。项目提供了可直接运行的源代码,玩家只需通过键盘方向键即可操控,轻松掉地图上的所有。资源简单易学,无需额外配置,适合新手快速...

gitblog_06797的博客 313

Java实现经典游戏项目实战

详见前述Swing代码示例。关键是理解的调用时机(仅当组件可见且被标记为“脏”时才会触发),因此主动调用repaint()是驱动画面更新的核心手段。当前实现以静态几何为主,未来可拓展至动态变形、弹性碰撞、物理引擎集成等领域。例如借助JBox2D实现真正的刚体动力学,或结合机器学习预测玩家走位以增强AI挑战性。但无论技术如何演进,清晰的模块划分与严谨的数学建模始终是可靠交互系统的基石。

weixin_31185473的博客 765
上一篇: 创建动画控制器和实现人物随机运动功能
下一篇: C#socket编程_TCPunity聊天室.01
薛西佛斯
博客等级 码龄7年 2粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值