extends Area2Dsignal hit # 声明一个名为hit的信号@export var speed = 400 # 角色移动速度
var screen_size # 游戏窗口尺寸func _ready():screen_size = get_viewport_rect().sizehide() # 游戏开始隐藏角色func _process(delta):var velocity = Vector2.ZERO # 角色的移动向量if Input.is_action_pressed("move_right"):velocity.x += 1if Input.is_action_pressed("move_left"):velocity.x -= 1if Input.is_action_pressed("move_down"):velocity.y += 1if Input.is_action_pressed("move_up"):velocity.y -= 1if velocity.length() > 0:velocity = velocity.normalized() * speed$AnimatedSprite2D.play()else:$AnimatedSprite2D.stop()position += velocity * deltaposition.x = clamp(position.x, 0, screen_size.x)position.y = clamp(position.y, 0, screen_size.y)if velocity.x != 0:$AnimatedSprite2D.animation = "walk"$AnimatedSprite2D.flip_v = false$AnimatedSprite2D.flip_h = velocity.x < 0elif velocity.y != 0:$AnimatedSprite2D.animation = "up"$AnimatedSprite2D.flip_v = velocity.y > 0func _on_body_entered(body):hide() # 被击中时隐藏Playerhit.emit()$CollisionShape2D.set_deferred("disabled", true) # 被击中后禁用碰撞func start(pos):position = posshow()$CollisionShape2D.disabled = false

2D Player脚本相关推荐

  1. unity 震动脚本_Unity - Cinemachine实现相机抖动

    普通相机抖动脚本较易实现,但在使用cinemachine相机下,其Transform组件不可被代码修改,那么Cinemachine的相机抖动如何实现呢?本文结合实际项目,对实现相机抖动的三大步骤进行系 ...

  2. unity 2D人物精灵动画控制

    1. 2D Player 图集 2.每行的4个精灵图一起拖拽到场景制作上下左右4个动画 3. 动画控制器 4.Player 示意图 5. 脚本,ISingleton 是框架的单例写法,请替换自己的写法 ...

  3. 初学者使用cocos creator制作第一个小游戏以及脚本编辑器的选择

    这是一个官方文档的补充版,以官方文档的快速上手:制作第一个游戏为基础,整合了其他文档内容,同时添加一下自己学习文档的理解,不仅能复习一下自己学到的知识,也帮助新人学习开发更加简单,好了,话不多说,进入 ...

  4. 横版2D小游戏开局_学习整理记录

    核心1.新建工程,取名Exercise_2D. 2.新建个文件夹(2D_Assets),将所有素材资源,导入或拖入. 3.修改图片像素为16或32,或适合人物的尺寸. 4.新建个空物体,取名Back, ...

  5. Unity3D游戏开发 脚本入门

    前面几张我们讲解了unity的基本使用, 知道了如何去建立一个简单游戏. 但这不不够, 因为这些需要给游戏添加更多的行为,这样游戏才算有血有肉  好了不说那么多废话了 下面开始讲正题吧  咔咔    ...

  6. 【游戏开发实战】使用Unity制作像天天酷跑一样的跑酷游戏——第四篇:使用脚本控制跑酷角色

    文章目录 一.前言 二.给角色添加碰撞器 三.给地面设置Tag 四.创建Player脚本 五.运行测试 一.前言 嗨,大家好,我是新发,今天是大年初五,大家牛年快乐,牛气冲天. 我打算写一篇使用Uni ...

  7. Unity3D开发体验之Unity3D 脚本开发

    目录 概述 一.准备工作 二.开始创建步骤 1.创建"Player" 说明:"Player"为游戏场景中的一个对象,在本游戏中就是一个有C#脚本控制的具有智慧的 ...

  8. Unity教程2D入门:29音效管理SoundManager

    https://www.bilibili.com/video/BV1zE411R7fF 由于过多的AudioSource加载在player上很累赘,这里使用脚本进行音频调用 场景新建SoundMana ...

  9. 制作一款3D炸弹超人游戏

    说起炸弹超人,相信很多朋友都玩过类似的游戏,其中最为人熟知的莫过于<泡泡堂>.该类型游戏需要玩家在地图中一边跑动一边放置炸弹,同时还要躲避敌方炸弹保护自己.最初的炸弹超人游戏都是2D的,今 ...

最新文章

  1. 从AdventureWorks学习数据库建模——保留历史数据
  2. 如果CRC等于炒鸡蛋,那么...
  3. Ubuntu图形界面配置开机自启动
  4. 用mkfs.jffs2 命令制作jffs2镜像文件 (转)
  5. 深度学习之循环神经网络(11-b)GRU情感分类问题代码
  6. c语言 case语句用法,switch ... case语句的用法[组图]
  7. 基于SuperSocket的IIS主动推送消息给android客户端
  8. GLSL中 Billboard和Point的顶点空间变换
  9. 说说那些死于决斗的大牛
  10. server sql 水平分表_springboot集成Shardingsphere进行分库分表
  11. cocosBuilder使用总结
  12. 尼古拉·特斯拉16句经典名言
  13. 毛咕咕 百度有啊现在每天的成交量:
  14. 饥荒控制台输入没用_饥荒代码为什么我输入没反应
  15. com.android.phone已停止运行怎么解决方法,com.android.phone进程意外停止/已停止运行的原因及解决方法...
  16. 清华学霸尹成Python教程
  17. 1 ,ps2017 安装
  18. 7-2 愤怒的牛 (25分)
  19. 关于Visual studio 2015 未能正确加载“Microsoft.VisualStudio.Editor.Implementation.EditorPackage”包的解决方案
  20. 利用WPS文字制作电子印章

热门文章

  1. 沈阳东软是个垃圾的公司?
  2. 快速掌握差分进化算法
  3. HTML的部分标签学习
  4. TRIM_UNUSED_KSYMS 和 ko 导出符号解耦
  5. Forword(请求转发)与Redirect(重定向) 区别
  6. 软件测试 | 边界值测试用例设计方法
  7. (转载.节选)从罗大佑到周杰伦
  8. mysql max pool_asp.net连接mysql得到错误all pooled connections were in use and max pool size was reach...
  9. 这个时代,文学还能做到“洛阳纸贵”?
  10. MTK6225-状态栏图标的显示与隐藏