从零开始的unity2d写游戏1#
前几天想做一个平面类似吃金币的游戏
四面是墙,角色在墙间跳跃
金币在中间生成
吃到加分
于是乎
角色拿圆柱做
墙是方块
地板也是方块
想法是鼠标控制角色的跳跃
之前有点基础,但还是去找了一下别人是怎么实现的
然后自己改出来的
添加了刚体2d组件(RigidBody2D)
移动,转向的代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class move : MonoBehaviour
{private Rigidbody2D rb2D;//先定义刚体rn2Dpublic float movespeed = 40f;//移速(推力?)// Start is called before the first frame updatevoid Start(){rb2D = GetComponent<Rigidbody2D>();//刚体需要先实例化}// Update is called once per framevoid Update(){playermove(); }void playermove(){//获取鼠标坐标//获取物体坐标,将世界坐标转为屏幕坐标//鼠标坐标-物体坐标得到向量//z置0//向量化//transform的UP方向改为dreaction方向达到跟随旋转Vector3 mouse = Input.mousePosition;Vector3 obj = Camera.main.WorldToScreenPoint(transform.position);Vector3 direction = mouse - obj;direction.z = 0f;direction = direction.normalized;transform.up = direction;if (Input.GetMouseButtonDown(0))//按下鼠标左键(0是左键){ //刚体的速度=向量*移速 rb2D.velocity = direction * movespeed;}}
}
效果如图
但是我想让他停在墙上不要滑动
player加了个圆的碰撞器,不然转向的时候可能会有力的作用
加了个检测碰撞的代码,给墙上了"wall"的tag 和碰撞器
private void OnCollisionEnter2D(Collision2D collision)//碰撞器检测函数{Debug.Log(collision.gameObject.tag);if (collision.gameObject.tag == "wall" ){Vector2 tp = rb2D.velocity;//撞墙停止rb2D.velocity = tp.normalized * 0f;//效果不好,注释掉//rb2D.velocity = Vector2.zero;}}
//下面那个v=Vector2.zero,亲测撞到之后有几率反向移动
还是直接速度的向量*0更好一点
效果图
从零开始的unity2d写游戏1#相关推荐
- python游戏制作rpg_用 Python 语言来写游戏
原标题:用 Python 语言来写游戏 题图:拍摄于 R1 鸟巢发布会 每个程序员差不多都是从计算机爱好者开始的,尤其是那些令人心醉神迷的电脑游戏,不仅造就了整个游戏产业,推动了计算机行业软硬件的升级 ...
- 小学生都能读懂的区块链原理和术语介绍(故事图文)-引自《从零开始自己动手写区块链》
本文目录 1.前言 2.中心化 2.1 交易 2.2 数字货币 2.3 复式记账法 2.4 未消费交易输出 2.5 中心化 2.6 区块与区块链 2.6 创世区块 3.去中心化原理 3.1 分布式存储 ...
- 视频教程-从零开始开发3D跑酷游戏教程-Unity3D
从零开始开发3D跑酷游戏教程 从业8年以上,学过一点知识,写过一点代码,擅长计算机图形学,擅长unity3d,擅长将抽象的东西讲明白,写看得懂的代码,讲听得懂的课程,不闲聊,不扯淡,满满的干货 洪青霞 ...
- 从零开始开发3D跑酷游戏教程-洪青霞-专题视频课程
从零开始开发3D跑酷游戏教程-1425人已学习 课程介绍 从零开发3D跑酷游戏视频培训课程,教大家从零开始开发一个3D跑酷游戏,涵盖了手势识别.动画系统.水平控制.纵向控制.金币获取. ...
- Unity2D 商业游戏案例 - 梦幻西游(第二季 框架设计篇)
00 网址 来源 siki学院的(1年有限期到期前下载的项目,现在已经过期,所以自己理清项目) 所以更多的不是学习这个项目,而是学习理清该类型的项目的思路 Unity2D 商业游戏案例 - 梦幻西游( ...
- 从零开始制作即时战略游戏(0)
"看这个题目,就觉得很傻屌."--某同学 问题1:为什么要从零开始制作即时战略游戏?难道SC/SC2,steam上一大堆还不够玩的? 回答:我就想在iphone/ipad上玩. 问 ...
- 从零开始制作一款游戏
从零开始制作一款游戏 1.开发环境 一个编辑器(Visual Studio Code),Powershell和Python. 我花了一些时间来纠结使用C++还是Python,最后我选择了Python, ...
- 在写游戏时钟类时,应确保时钟的计算是以某个固定的CPU为标准的
在写游戏时钟类时,应确保时钟的计算是以某个固定的CPU为标准的.下面通过一个例子来阐述如何实现这一思想: // 记录特定进程的affinity maskunsigned long lProcessAf ...
- 用python写数字_用python 写游戏之数字华容道
当初对这个游戏颇有印象还是在最强大脑节目上面,何猷君以几十秒就完成了这个游戏.写2048游戏的时候,又想起了这个游戏,想着来研究一下. 游戏玩法 用尽量少的步数,尽量短的时间,将棋盘上的数字方块,按照 ...
最新文章
- UI设计培训技术分享:配色秘籍
- Sciences:用膳食纤维钓出15株缓解糖尿病的细菌!
- How to setup SLF4J and LOGBack in a web app - fast--转载
- Python断言方法:assert
- 没有bug队——加贝——Python 练习实例 7,8
- 关于ssd-tensorlow如何训练自己的数据集合
- EZGUI下的动态图片的处理
- VxRack与VxRail遭受Power的“全面入侵”
- The Suspects(并查集入门)
- ffmpeg4.3.2版本:gstavdemux.c:486:24: error: AVStream has no member named ‘index_entries‘(二十七)
- Python 模拟轮盘抽奖游戏
- 互联网赚钱骚操作,真的太骚了
- matlab-梯形积分
- 项目二--03.基于Nginx、keepalived的高可用集群之keepalived高可用实现
- PHP:报错 strpos() expects parameter 1 to be string, integer given
- 《C++程序设计》第十章总结
- 【绝对详细!不好使你顺着网线敲我!】Django3.1在Ubuntu16.04上的部署
- Ardupilot 绕圈模式分析
- IntelliJ IDEA 2018版本操作总结(长期更新)
- Java常用类思维导图总结