关于游戏中参数导出调整的实现_PlayerPrefs方式实现
来源:互联网 发布:淘宝店铺标志尺寸 编辑:程序博客网 时间:2024/05/22 20:49
关于游戏中参数导出调整的实现_PlayerPrefs方式实现<21/11/2017>(注意:InputField有坑!PlayerPrefs有默认读取!)
为了方便测试和策划调整手感,往往我们需要导出我们的参数,让他们进行调整可以节省我们一大部分开发的时间
(数据会保存在电脑或手机端本地),参数导出如下图:
一下代码,核心已经注释:<注意!>
using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class SettingManager : MonoBehaviour{ public GameObject ball; private Rigidbody2D rg; public InputField[] inputFields; public GameObject settingPanel; void Start() { rg = ball.GetComponent<Rigidbody2D>(); rg.mass = PlayerPrefs.GetFloat("Mass", 1f);//GetFloat("Mass",1f)如果读取不到"Mass"值,会默认读取1f数值 inputFields[0].text = rg.mass.ToString();//InputFields.text才是UGUI输入框的入口,此处每次更改后,输入框显示也得随PlayerPrefs数值进行更新 rg.drag = PlayerPrefs.GetFloat("Linear Drag", 0f); inputFields[1].text = rg.drag.ToString(); rg.angularDrag = PlayerPrefs.GetFloat("Angular Drag", 0.05f); inputFields[2].text = rg.angularDrag.ToString(); rg.gravityScale = PlayerPrefs.GetFloat("Gravity Scale", 1f); inputFields[3].text = rg.gravityScale.ToString(); BasketControl.rotateSpeed = PlayerPrefs.GetFloat("Rotate Angular Speed", 1000f); inputFields[4].text = BasketControl.rotateSpeed.ToString(); BasketControl.ForcePowerRate = PlayerPrefs.GetFloat("Force Power Rate", 55f); inputFields[5].text = BasketControl.ForcePowerRate.ToString(); DrawLine.parabola = PlayerPrefs.GetFloat("Parabola", 0.026f); inputFields[6].text = DrawLine.parabola.ToString(); } public void ActiveSettingPanel() { settingPanel.SetActive(true); BasketControl.FixedAll = false; } public void FalseSettingPanel() { settingPanel.SetActive(false); BasketControl.FixedAll = true; } public void SettingDate() { PlayerPrefs.SetFloat("Mass", float.Parse(inputFields[0].text)); PlayerPrefs.SetFloat("Linear Drag", float.Parse(inputFields[1].text)); PlayerPrefs.SetFloat("Angular Drag", float.Parse(inputFields[2].text)); PlayerPrefs.SetFloat("Gravity Scale", float.Parse(inputFields[3].text)); PlayerPrefs.SetFloat("Rotate Angular Speed", float.Parse(inputFields[4].text)); PlayerPrefs.SetFloat("Force Power Rate", float.Parse(inputFields[5].text)); PlayerPrefs.SetFloat("Parabola", float.Parse(inputFields[6].text)); rg.mass = PlayerPrefs.GetFloat("Mass", float.Parse(inputFields[0].text)); rg.drag = PlayerPrefs.GetFloat("Linear Drag", float.Parse(inputFields[1].text)); rg.angularDrag = PlayerPrefs.GetFloat("Angular Drag", float.Parse(inputFields[2].text)); rg.gravityScale = PlayerPrefs.GetFloat("Gravity Scale", float.Parse(inputFields[3].text)); BasketControl.rotateSpeed = PlayerPrefs.GetFloat("Rotate Angular Speed", float.Parse(inputFields[4].text)); BasketControl.ForcePowerRate = PlayerPrefs.GetFloat("Force Power Rate", float.Parse(inputFields[5].text)); DrawLine.parabola = PlayerPrefs.GetFloat("Parabola", float.Parse(inputFields[6].text)); }}UI面板界面编排如此
阅读全文
0 0
- 关于游戏中参数导出调整的实现_PlayerPrefs方式实现
- 关于游戏中拦截算法的实现
- tensorflow实现线性方程的参数调整
- 关于android实现拖动旋转角度,调整布局参数的思路
- 游戏中实时更新数据的实现方式
- angular中实现控制器之间传递参数的方式
- Unity3D中关于游戏摇杆的实现方法
- java导出word实现方式一,在jsp中实现
- 关于DLL中导出类、导出函数接口的参数
- Qt中自动调整大小的实现
- 关于printf()中可变参数的实现的理解
- 游戏地图实现方式
- 在Unity中调整安卓当前窗口屏幕亮度的实现(无需导出工程或制作插件)
- 关于Python中一种回调方式的实现
- 关于java中定时器的实现 三种方式
- android中关于gps定位的实现方式
- 关于shell中常见功能的实现方式总结
- 游戏中BUFF的实现
- ubuntu16.04下caffe的配置方法
- Redis持久化整理
- 排序-->冒泡排序算法
- 综合练习之--2、MainActivity | Fragment 显示XLV 和 侧滑 vp效果的代码
- angularjs 自定义过滤器 改变敏感字
- 关于游戏中参数导出调整的实现_PlayerPrefs方式实现
- windows socket编程入门示例1
- hive笔记
- pygame入门小游戏(外星人入侵(7) )
- 根据URI实战nginx7层代理网站动静分离实战
- 游戏《孢子》的思考 —— Metaball的逻辑,实现及对应思考
- hibernate映射文件详解
- 大数据WEB阶段(六)MySql 下载、安装、卸载与配置
- 网络远程连接