[Unity2D]2D Mobile Joystick

本文为作者原创,转载请注明出处:https://www.cnblogs.com/zhaoqingqing/p/3633646.html



效果预览#

QQ截图20140330121910

操作步骤#

1、下载素材 http://pan.bai du.com/s/1gdkQz8v

2、新建一个GUITexture(Joystick)及一个Sprite(Nyan)

    image  image

3、添加背景及Platform(添加BoxCollider2D)

image

4、创建C#脚本 JoystickInput.cs

JoystickInput.cs#

using UnityEngine;
using System.Collections;

public class JoystickInput : MonoBehaviour
{
    public Joystick joystick;// Reference to joystick prefab
    public float speed = 10; // Movement speed
    public bool useAxisInput = true;// Use Input Axis or Joystick
    private float h = 0, v = 0;// Horizontal and Vertical values


    // Update is called once per frame
    void Update()
    {
        if (!useAxisInput)
        {
            h = joystick.position.x;
            v = joystick.position.y;
        }
        else
        {
            h = Input.GetAxis("Horizontal");
            v = Input.GetAxis("Vertical");
        }
        // Apply horizontal velocity
        if (Mathf.Abs(h) > 0)
        {
            rigidbody2D.velocity = new Vector2(h * speed, rigidbody2D.velocity.y);
        }

        // Apply vertical velocity
        if (Mathf.Abs(v) > 0)
        {
            rigidbody2D.velocity = new Vector2(rigidbody2D.velocity.x, v * speed);
        }
    }
}

工程文件#

源文件下载(Unity 4.3.4) http://pan.baidu.com/s/1kT7IP5H

注意事项#

 如果Unity自带的 Joystick.js 会报引用异常,找不到Joystick,所以使用Joystick.cs 附地址:http://wiki.unity3d.com/index.php?title=Joystick

作者:赵青青   一名在【网易游戏】做游戏开发的程序员,擅长Unity3D,游戏开发,.NET等领域。
本文版权归作者和博客园共有,欢迎转载,转载之后请务必在文章明显位置标出原文链接和作者,谢谢。
如果本文对您有帮助,请点击【推荐】您的赞赏将鼓励我继续创作!想跟我一起进步么?那就【关注】我吧。
posted @   赵青青  阅读(1472)  评论(0编辑  收藏  举报
编辑推荐:
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
点击右上角即可分享
微信分享提示
CONTENTS