2/3D游戏:D

辅助插件:原生

游戏制作难度系数:初级

游戏教程网址:http://www.raywenderlich.com/20333/beginning-unity-3d-for-ios-part-1

1、GUI自适应分辨率

    public const float kDesignWidth = 960f;  //游戏测试时宽度
public const float kDesignHeight = 640f; //游戏测试时高度
private Vector2 _scaleOffset = Vector2.one;
private float _scale = 1.0f;
void Start()
{
_scaleOffset.x = Screen.width / kDesignWidth;
_scaleOffset.y = Screen.height / kDesignHeight;
_scale = Mathf.Max(_scaleOffset.x, _scaleOffset.y);
}
void OnGUI()
{
if (_scale < )
{
GUI.skin = gameMenuGUISkinForSmall; //小字体
}
else
{
GUI.skin = gameMenuGUISkinForNormal;//正常字体
}
//绘制背景图
GUI.DrawTexture(new Rect(, , Screen.width, Screen.height), backgroundTex);
//绘制按钮
if (GUI.Button(new Rect( * _scaleOffset.x, * _scaleOffset.y, * _scaleOffset.x, * _scaleOffset.y), resumeButtonTex, GUIStyle.none))
}

 2、获取动画总的播放时间以及当前动画播放到哪一时间(老版动画系统)

当前动画总的时间:_animation[_currentAnimation.name].length / _animation[_currentAnimation.name].speed

动画播放完,执行OnAnimationFinished方法:

Invoke("OnAnimationFinished", _animation[_currentAnimation.name].length / _animation[_currentAnimation.name].speed);
private void OnAnimationFinished()
{
//some codes
}

当前动画播放到哪一时间:

//normalizedTime(float):动画当前规范化时间,1是动画结尾. 0.5是动画中间

_animation[_currentAnimation.name].normalizedTime

3、判断运行平台

    //判断设备平台
public bool IsMobile
{
get
{
return (Application.platform == RuntimePlatform.IPhonePlayer || Application.platform == RuntimePlatform.Android);
}
}

4、判断网络的可达性

    //判断网络是否可用
public bool NetworkAvailable
{
get
{
return Application.internetReachability != NetworkReachability.NotReachable;
}
}

NotReachable:表示设备没有连接网络

ReachableViaCarrierDataNetwork:表示设备是通过运营商数据连接的

ReachableViaLocalAreaNetwork:表示设备是通过WiFi或有线网络连接的

5、判断设备方向

Input.deviceOrientation == DeviceOrientation.FaceDown  表示屏幕朝下

Unknown:设备的方向不能被确定。

Portrait:设备在纵向模式,设备直立并home按钮在底部。

PortraitUpsideDown:设备在纵向模式,但颠倒一下,设备直立并home按钮在顶部。

LandscapeLeft:设备在横向模式,设备直立并home按钮在右边。

LandscapeRight:设备在横向模式,设备直立并home按钮在左边。

FaceUp:设备保持与地面平行,屏幕的面向上。

FaceDown:设备保持与地面平行,屏幕的面向下。

6、获取触摸状态

Input.touchCount 获取手指触摸屏幕的数量

                foreach (Touch touch in Input.touches)
{
if (touch.phase == TouchPhase.Began)
{
//some codes
}
}

Begin:手指已触摸屏幕。

Moved:手指在屏幕上移动。

Stationary:手指触摸屏幕,但并没有移动。

Ended:手指从屏幕上移开。这是一个触摸的最后状态。

Canceled:系统取消跟踪触摸,如用户把屏幕放到他脸上或超过五个接触同时发生。这是一个触摸的最后状态。

Input类的其他详细使用如下:

水平(Horizontal )和垂直(Vertical )被映射到w, a, s, d键和方向键

Fire1, Fire2, Fire3被分别映射到Ctrl,Option(Alt)和Command键

Mouse X 和 Mouse Y被映射到鼠标移动增量

Window Shake X 和 Window Shake Y 被映射到窗口的移动

 7、可视化改变碰撞器的大小

选择碰撞器的对象,然后按下Shift,会出现碰撞器的控制柄,这样就可以用鼠标可视化的改变碰撞器大小。

在场景面板中展示的碰撞器都是绿色的,Mesh Collider除外,它的网格显示着碰撞的边界。

8、单例模式

public class GameController : MonoBehaviour
{
private static GameController _instance = null;
public static GameController SharedInstance
{
get
{
if (_instance == null)
{
_instance = GameObject.FindObjectOfType(typeof(GameController)) as GameController;
}
return _instance;
}
}
void Awake()
{
_instance = this;
}
private GameController()
{ }
}

NBA投篮的更多相关文章

  1. 【NBA 可视化】使用Pyecharts实现湖人19-20赛季投篮数据可视化~

    前言 先来口号 「湖人总冠军」~

  2. 见证历史 -- 2013 NBA 热火夺冠之路有感

    见证历史-- 2013 NBA 热火夺冠之路有感今年NBA季后赛从第一轮看起,到最终的热火夺冠,应该看得是最爽的一次.但一些情节和细节,回忆起来,深有感悟. 1. 做人要低调詹宁斯豪言演黑八雄鹿本赛季 ...

  3. 如何使用 Python 创建一个 NBA 得分图?

    本文意在创建一个得分图,该图同时描绘了从场上不同位置投篮得分的百分比和投篮次数,这和 Austin Clemen 个人网站上的帖子 http://www.austinclemens.com/shotc ...

  4. 使用ML.NET实现NBA得分预测

    使用ML.NET实现NBA得分预测 导读:ML.NET系列文章 ML.NET已经发布了v0.2版本,新增了聚类训练器,执行性能进一步增强.本文将介绍一种特殊的回归--泊松回归,并以NBA比赛得分预测的 ...

  5. 32岁白发菜鸟拿2.6万年薪苦熬10年 NBA首秀便惊艳世人 科比书豪纷纷为他点赞

    这是一场普通的常规赛——斯台普斯球馆,湖人的赛季第81场.比赛的结果也没什么意外:客场作战的火箭106-99带走胜利.然而,这一场的斯台普斯却成了欢乐的海洋,现场甚至喊出了MVP的呼声,这份赞誉,送给 ...

  6. nba技能表

    球员名 主动技能名 主动技能效果 拆解技能名 拆解技能效果 巅峰-纳什 跑投三分 全队三分出手概率提高X%,但体力消耗增加Y% 稳固进攻 全队进攻增加X%,持续整场比赛 巅峰-科比 肉搏 对方全体行动 ...

  7. [CareerCup] 7.1 Basketball Shooting Game 投篮游戏

    7.1 You have a basketball hoop and someone says that you can play one of two games. Game 1: You get ...

  8. JavaScript案例六:简单省市联动(NBA版)

    JavaScript实现简单省市(NBA版)联动 <!DOCTYPE html> <html> <head> <title>JavaScript实现简单 ...

  9. nodejs抓网易NBA数据

    var http = require("http");var cheerio = require("cheerio"); var url = "htt ...

随机推荐

  1. POJ-2029 Get Many Persimmon Trees---二维树状数组+枚举

    题目链接: https://vjudge.net/problem/POJ-2029 题目大意: 有N棵树在一个n*m的田里,给出每颗树的坐标 用一个s*t的矩形去围,最多能围几棵树 思路: 用二维树状 ...

  2. Python类型转换+序列操作+基本概念辨析速查手册

     第一部分是Python语言中基础中的基础,根据网上资料,合并如下:       1.类型转换     int(x [,base])  将x转换为一个整数     long(x [,base]) 将x ...

  3. python3 安装turtle tkitnter 报错

    导入tkinter模块后,运行出现No module named _tkinter, please install the python-tk package ubuntu运行tkinter错误   ...

  4. 旧文备份:windows下编译和使用IT++

    1.下载IT++最新版:<a href="http://sourceforge.net/projects/itpp/">http://sourceforge.net/p ...

  5. PHP调试小错误汇总

    1.中文显示乱码 解决:加上header('Content-type:text'); 2.Unable to find the wrapper "https 解决:到php.ini中把ext ...

  6. java对象传递小解析

    先上代码: import org.apache.commons.lang.builder.ToStringBuilder; import org.apache.commons.lang.builder ...

  7. C#中 property 与 attribute的区别?

    C#中 property 与 attribute的区别?答:attribute:自定义属性的基类;property :类中的属性

  8. 前端JavaScript之ECMA

    1.JavaScript基础 2.语法规则 3 常用内置对象 4 函数 5 伪数组 6.异常处理 1.1 web前端分为三层 HTML:从语义的角度,描述页面结构 CSS:从审美的角度,描述样式(美化 ...

  9. 线段树的应用xx中学模拟lites

    跟昨天那个自己写的,没有按照模板来的一看风格就不相类似,今天模拟赛的时候就是用的我的那个自己YY的代码,才拿了10分.个人认为关键的问题应该在于对于数据的处理太过繁琐了,所以回来之后,就拿了大佬的程序 ...

  10. python逻辑运算(not,and,or)总结

    逻辑运算 1.在没有()的情况下not优先级高于and,and优先级高于or,即优先级关系为()>not>and>or,同一优先级从左往右计算 总结:a or b : 如果a = 0 ...