NBA投篮
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:表示设备没有连接网络
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()
{ }
}
IOS创建单例模式:http://stackoverflow.com/questions/5720029/create-singleton-using-gcds-dispatch-once-in-objective-c
NBA投篮的更多相关文章
- 【NBA 可视化】使用Pyecharts实现湖人19-20赛季投篮数据可视化~
前言 先来口号 「湖人总冠军」~
- 见证历史 -- 2013 NBA 热火夺冠之路有感
见证历史-- 2013 NBA 热火夺冠之路有感今年NBA季后赛从第一轮看起,到最终的热火夺冠,应该看得是最爽的一次.但一些情节和细节,回忆起来,深有感悟. 1. 做人要低调詹宁斯豪言演黑八雄鹿本赛季 ...
- 如何使用 Python 创建一个 NBA 得分图?
本文意在创建一个得分图,该图同时描绘了从场上不同位置投篮得分的百分比和投篮次数,这和 Austin Clemen 个人网站上的帖子 http://www.austinclemens.com/shotc ...
- 使用ML.NET实现NBA得分预测
使用ML.NET实现NBA得分预测 导读:ML.NET系列文章 ML.NET已经发布了v0.2版本,新增了聚类训练器,执行性能进一步增强.本文将介绍一种特殊的回归--泊松回归,并以NBA比赛得分预测的 ...
- 32岁白发菜鸟拿2.6万年薪苦熬10年 NBA首秀便惊艳世人 科比书豪纷纷为他点赞
这是一场普通的常规赛——斯台普斯球馆,湖人的赛季第81场.比赛的结果也没什么意外:客场作战的火箭106-99带走胜利.然而,这一场的斯台普斯却成了欢乐的海洋,现场甚至喊出了MVP的呼声,这份赞誉,送给 ...
- nba技能表
球员名 主动技能名 主动技能效果 拆解技能名 拆解技能效果 巅峰-纳什 跑投三分 全队三分出手概率提高X%,但体力消耗增加Y% 稳固进攻 全队进攻增加X%,持续整场比赛 巅峰-科比 肉搏 对方全体行动 ...
- [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 ...
- JavaScript案例六:简单省市联动(NBA版)
JavaScript实现简单省市(NBA版)联动 <!DOCTYPE html> <html> <head> <title>JavaScript实现简单 ...
- nodejs抓网易NBA数据
var http = require("http");var cheerio = require("cheerio"); var url = "htt ...
随机推荐
- vsftpd 启动 vsftpd:500 OOPS: bad bool value in config file for: guest_enable
不然启动时会涌现毛病,举个例子 guest_enable=YES 后面出现空格,就会出现 为 vsftpd 启动 vsftpd:500 OOPS: bad bool value in config ...
- maven项目右键快捷方式,然后点击Run As
在某一个maven项目右键快捷方式,然后点击Run As就可以发现几个Maven的命令: 1.Maven Build: 这个命令用于编译Maven工程,执行命令后会在target文件夹中的classe ...
- P1567 统计天数
题目背景 统计天数 题目描述 炎热的夏日,KC非常的不爽.他宁可忍受北极的寒冷,也不愿忍受厦门的夏天.最近,他开始研究天气的变化.他希望用研究的结果预测未来的天气. 经历千辛万苦,他收集了连续N(1& ...
- 旧文备份:rtlinux安装手册
前段时间接触了几天RTLinux,折腾了好几天才总算把它安装上,得益于Prof. Chang-Gun Lee的安装建议,觉得该文档可能会对准备尝试安装RTLinux的朋友们有帮助,本人英语很烂,也比较 ...
- VMware中Ubuntu开机时停在启动界面,不进入X-window的解决办法
启动Ubuntu虚拟机时,停在这个画面不动: 试了若干次,都是这样.尝试了新建一个虚拟机然后把.vmdk文件拷过去启动,无法解决. 尝试重启,在这个界面按esc进入grub: 选择恢复模式 recov ...
- vue笔记v-bind
把message的信息绑定给title,运行出来的结果是<span title="you loaded this page on +Mon Nov 21 2016 18:28:38 G ...
- dts--framework(二)
Framwork下个文件中包含的函数 packet.py LayersTypes = { ', 'arp', 'lldp'], # ipv4_ext_unknown, ipv6_ext_unknown ...
- BeanFactory和IOC控制反转
之前在看spring,看IOC实在是云里雾里,包括看AOP也是云里雾里的,后来重新学习Java Web,做了一个简单的web项目,再之后看了崔希凡老师的视频,Day27和Day28两天的内容,真的很有 ...
- [BZOJ3714]Kuglarz(最小生成树)
Description 魔术师的桌子上有n个杯子排成一行,编号为1,2,-,n,其中某些杯子底下藏有一个小球,如果你准确地猜出是哪些杯子,你就可以获得奖品.花费\(C_{i,j}\)元,魔术师就会告诉 ...
- 第三章:Web表单
感谢作者 –> 原文链接 本文翻译自 The Flask Mega-Tutorial Part III: Web Forms 这是Flask Mega-Tutorial系列的第三部分,我将告诉你 ...