2D游戏角色移动

复制代码

void Start() { rb = GetComponent<Rigidbody2D>(); anim = GetComponent<Animator>(); } void FixedUpdate() { Movement(); jump(); SwitchAnimation(); } void Update() { if (Input.GetButtonDown("Jump") && jumpCount > 0) { jumpPressed = true; } } void Movement() { horizontalMove = Input.GetAxis("Horizontal"); switchFace = Input.GetAxisRaw("Horizontal"); rb.velocity = new Vector2(horizontalMove * speed, rb.velocity.y); if (horizontalMove != 0) { anim.SetFloat("speed", Mathf.Abs(horizontalMove)); } if (switchFace != 0) { transform.localScale = new Vector3(-switchFace, 1, 1); } } void jump() { isOnGround = Physics2D.OverlapCircle(groundCheck.position, groundCheckDistance, ground); if (isOnGround) { jumpCount = 2; isJump = false; } if (isOnGround && jumpPressed) { isJump = true; rb.velocity = new Vector2(rb.velocity.x, jumpForce); jumpCount--; jumpPressed = false; } else if (!isOnGround && jumpPressed && jumpCount > 0) { rb.velocity = new Vector2(rb.velocity.x, jumpForce); jumpCount--; jumpPressed = false; } }
复制代码

此为2D角色实现二段跳的代码,具体的动画切换可根据需求进行添加

posted @   Jet清远  阅读(42)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· [翻译] 为什么 Tracebit 用 C# 开发
· 腾讯ima接入deepseek-r1,借用别人脑子用用成真了~
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· DeepSeek崛起:程序员“饭碗”被抢,还是职业进化新起点?
· RFID实践——.NET IoT程序读取高频RFID卡/标签
点击右上角即可分享
微信分享提示