游戏技术文章

游戏研发 奇技淫巧(持续更新中)

时间:2019-4-7 10:21:17  作者:棋牌资源网  来源:棋牌资源网 www.pahuai.com  查看:4759  评论:0
内容摘要:自己开发多年,将一些经常用,实用的功能列出来,既是为了效率,也是为了代码能够写的更漂亮些。语言篇: C# 1.Enum转数组: System.Enum.GetValues(typeof(EnumKind));2.数组合并 using Sys...
自己开发多年,将一些经常用,实用的功能列出来,既是为了效率,也是为了代码能够写的更漂亮些。

语言篇:
 
C#
 
1.Enum转数组:
 
System.Enum.GetValues(typeof(EnumKind));
2.数组合并
 
using System.Linq;//需要引用
 
new string[] { "1", "2", "3", "4" }.Concat(new string[] { "a", "b" }).ToArray();
3.定时器的使用
 
System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch();

4.正则表达式
 
System.Text.RegularExpressions.Regex.IsMatch("nmb", @"^[-]?\d+[.]?\d*$");
5.C# 类型方法扩展:
 
以字串类型为例:
 
" 你的偶像是{0}".TTOFormat("张国荣","本山","不二做");
 
1.1.ToInt();
 
作用:极大的提升开发效率,减少垃圾代码的出现
 
public static class TTOFormatHelper
{
    /// <summary>
    /// 字符串格式化新增扩展
    /// </summary>
    /// <param name="_str"> this T para</param>
    /// <param name="values">可变参数数组</param>
    /// <returns></returns>
    public static string TTOFormat(this string _str, params object[] values)
    {
        return string.Format(_str, values);
    }
    public static int ToInt(this float _float)
    {
        return (int)_float;
    }
}
 

7.C# Directory.GetFiles()获取多个类型格式的文件
 
第一种方式
 
System.IO.Directory.GetFiles()获取多个类型格式的文件
System.IO.Directory.GetFiles("c:\","(*.jpg|*.bmp)"); 
第二种方式
 
var files = Directory.GetFiles("C:\\path", "*.*", SearchOption.AllDirectories)
.Where(s => s.EndsWith(".bmp") || s.EndsWith(".jpg"));
7.持续更新中... ....
 

引擎篇:
 
Unity:
 
 
0.屏幕是否休眠
 
Screen.sleepTimeout = SleepTimeout.NeverSleep;
1.坐标间的转换
 
世界坐标转屏幕坐标:
 
Vector3 screenPos = Camera.main.WorldToScreenPoint(pos); 
屏幕坐标转世界坐标:
 
Vector3 worldPos = Camera.main.ScreenToWorldPoint(pos); 
2.旋转
 
1.最简单的旋转代码,只需要输入旋转的轴向和旋转速度就可以实现自身的旋转了
        this.transform.Rotate (Vector3.up * rotaSpeed);
 
2.围绕某个点的旋转,参数分别是 1.需要围绕的点 2.旋转的轴向 3.旋转的速度
        this.transform.RotateAround (Vector3.zero, Vector3.up, rotaSpeed);
 
3.旋转的角度
        rotaSpeed += Input.GetAxis("Horizontal");
        transform.eulerAngles = new Vector3(0, rotaSpeed, 0);
 
4.旋转的角度
        float tiltAroundZ = Input.GetAxis("Horizontal")*30;
        float tiltAroundX = Input.GetAxis("Vertical")*30;
        Quaternion target = Quaternion.Euler(tiltAroundX, 0, tiltAroundZ);
        transform.rotation = Quaternion.Slerp(transform.rotation, target, Time.deltaTime * 2);
3.rigibody 刚体约束RigidbodyConstraints
 
RigidbodyConstraints为枚举类型; 
(|:可以理解为又啊又啊又) 
全部锁定: 
rigidbody.constraints = RigidbodyConstraints.FreezePositionX| RigidbodyConstraints.FreezePositionY| RigidbodyConstraints.FreezePositionZ; 
全部解锁: 
rigidbody.constraints -= RigidbodyConstraints.FreezePositionX| RigidbodyConstraints.FreezePositionY| RigidbodyConstraints.FreezePositionZ; 
只解锁一个(例如X轴其他全部冻结): 
rigidbody.constraints ~= RigidbodyConstraints.FreezePositionX

标签:游戏研发奇技淫巧 

欢迎加入VIP,【VIP售价:只要288元永久VIP会员】畅享商业棋牌游戏程序下载,点击开通!

下载说明


☉本站所有源码和资源均由站长亲自测试-绝对保证都可以架设,运营!
☉如源码和资源有损坏或所有链接均不能下载,请告知管理员,

☉本站软件和源码大部分为站长独资,资源购买和收集,放心下载!

☉唯一站长QQ:1004003180  [人格担保-本站注重诚信!]

☉购买建议E-mail:1004003180@qq.com   源码收购 E-mail:1004003180@qq.com    

☉本站文件解压密码  【文章内都自带解压密码,每个密码不同!】


本站提供的所有源码,均来源站长提供,仅学习交流 浙ICP备09009969号

由此产生不良后果和法律责任与本站无关,如果侵犯了您的版权,请来信告知 1004003180@qq.com 将及时更正和删除! 

Copyright © 2008-2024 棋牌资源网,你身边的棋牌资源下载站    All Rights Reserved