Unity3D游戏开发之使用Unity3D开发2D游戏Word文档下载推荐.docx
- 文档编号:16729560
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:9
- 大小:384.72KB
Unity3D游戏开发之使用Unity3D开发2D游戏Word文档下载推荐.docx
《Unity3D游戏开发之使用Unity3D开发2D游戏Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Unity3D游戏开发之使用Unity3D开发2D游戏Word文档下载推荐.docx(9页珍藏版)》请在冰豆网上搜索。
4.}
5.//向右
6.if(Input.GetKey(KeyCode.D))
7.{
8.
mCamera.transform.Translate(Vector3.right*Time.deltaTime*(mSpeed));
9.}
10.//向上
11.if(Input.GetKey(KeyCode.W))
12.{
13.
mCamera.transform.Translate(Vector3.up*Time.deltaTime*(mSpeed));
14.}
15.//向下
16.if(Input.GetKey(KeyCode.S))
17.{
18.
mCamera.transform.Translate(Vector3.up*Time.deltaTime*(-mSpeed));
19.}
20.
注意将地图平移的速度设置得小一点,这样人物移动的时候才会显得真实。
4、小地图的实现
对于3D游戏而言,我们可以另外设置一个摄像机从上方进行投影,对于2D游戏,博主的思路是在大地图里获取角色人物的位置,然后根据大地图与小地图的缩放比例,重新计算角色人物在小地图上对应的坐标,然后在该点处完成绘制即可,不过,博主并没有实现这一功能,因为在对大地图的宽度和高度计算上,目前依然存在问题。
5、地图边界的判断
通过GameObject.Find()方法获取地图所在的Plane,进而可以获取当前游戏界面的宽度、高度,不过在测试的过程中,博主发现这样方法获得的高度、宽度与实际情况相去甚远,所以希望如果有知道怎么解决这个问题的朋友,能够告诉我啊。
到目前为止,无论是通过GUI绘制的方式还是通过旋转坐标轴的方法来实现2D游戏的开发,我们发现通过这种方式制作2D游戏的效率实在不敢恭维,怎么办呢?
下面隆重请出Unity3D王牌插件——2DTookit,博主郑重推荐:
2DTookit是目前为止在Unity3D领域制作最好的2D插件,下面就请大家跟随我一起来学习使用2DTookit来制作2D游戏吧!
1、导入2DToolKit的资源包
2、首先我们在Project视图下创建一个文件夹Textures,在这里我们存放一些用于制作2D游戏画面的素材
3、接下来我们创建一个文件夹TextureCollection用于存放我们的精灵集合。
4、在此文件夹上右键单击创建一个SpriteCollection
5、将生成的文件改名,这一步是必须的,这里我们改名为SpriteTextureCollection。
文章出处【狗刨学习网】
6、选择文件,在右侧的属性面板单击OnenEditor按钮,打开设计器。
我们将项目目录中的素材文件拖入到下面这个窗口的左侧,完成素材的添加后点击Commit进行提交。
7、在场景布局界面,我们创建一个Sprite,此时属性窗格中的Collection即为我们第五步中创建好的精灵集合文件,我们可以再下面的Sprite属性中选择当前精灵要显示的文件。
8、重复第7步,我们最终可以做出来这样一个场景效果:
这样我们就完成了精灵的添加,下面我们来创建一个动画精灵,首先准备若干张连续的动画文件,我们这里按照动画的类型,将它们放在不同的文件夹里,以便于管理。
接下来我们将这些图片添加到精灵集合中,不要告诉我你不知道怎么添加啊?
和上面的方法是一样的。
好了,下面我们来创建一个动画精灵的集合文件,我们添加一个目录:
AnimationCollections,右键单击创建SpriteAnimation
类似地,右侧属性窗格有个OpenEditor按钮,单击它打开下面的界面:
现在我们在左侧创建若干个片段,这里每一个片段就是一组动画,我们可以在右侧通过Inset按钮向里面添加动画,这里我们创建了三个动画,待会我们会用到。
最后点击Commit提交!
现在在布局界面创建动画精灵:
和普通精灵类似,我们可以在右侧属性窗格选择对应的动画集合,为角色指定一个动画.
最后给出脚本:
1.usingUnityEngine;
2.usingSystem.Collections;
4.publicclassPlayerScript:
MonoBehaviour{
5.
6.
//定义一个动画精灵对象
7.
privatetk2dSpriteAnimatormSprite;
//定义角色状态枚举
9.
privateenumPlayerState
10.
{
11.
Stand,
12.
Walk,
Hit,
14.
Jump
15.
}
16.
//初始化角色状态为站立状态
17.
privatePlayerStatemState=PlayerState.Stand;
19.
voidStart()
20.
21.
//获取动画精灵
22.
mSprite=this.GetComponent<
tk2dSpriteAnimator>
();
23.
//禁用自动播放
24.
mSprite.playAutomatically=false;
25.
26.
27.
28.
voidUpdate()
29.
30.
if(Input.GetKey(KeyCode.D))
31.
32.
mSprite.Play("
WalkClip"
);
33.
transform.Translate(Vector3.right*Time.deltaTime);
34.
mSprite.playAutomatically=true;
35.
mState=PlayerState.Walk;
36.
37.
if(Input.GetKey(KeyCode.Space))
38.
39.
if(mState!
=PlayerState.Jump)
40.
41.
mSprite.rigidbody.AddForce(0,200,0);
42.
mState=PlayerState.Jump;
43.
44.
45.
if(Input.GetKey(KeyCode.J))
46.
47.
HitClip"
48.
49.
mState=PlayerState.Hit;
50.
51.
if(Input.GetKeyUp(KeyCode.Space)||Input.GetKeyUp(KeyCode.D)||Input.GetKeyUp(KeyCode.J))
52.
53.
mSprite.Stop();
54.
StandClip"
55.
56.
mState=PlayerState.Stand;
57.
58.
59.}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Unity3D 游戏 开发 使用