前面讲完了,游戏一开始生成两个方块在随机的位置(而且是2和4的随机数字)。
那么完成了随机生成方块,现在要实现移动方块了。按键上下左右(wsad)来移动方块。
1,前面的第6点已经给出方块的完整的代码了,这里把思路讲讲。
1-1,首先是newPos = transform.position;,这里newPos 就是我们用来控制移动的
void Update () {
transform.position=Vector3.MoveTowards(transform.position,newPos,25.0f);
}
当newPos改变的时候,方块就朝newPos的位置移动。
1-2,那么怎么改变newPos 呢,或者说什么样的情况下改变呢,我们通过建立changePos()这里函数来改变,带有参数的,到时候要用到
public void changePos(int temIndex){
newPos.x = -132f + temIndex * 88f;//这个是根据实际图片的尺寸知道的,当temIndex等于0的时候,
//,也就是newPos.x=-132f,所以这个方块的位置是[0]
if(needsetz){
newPos.z = 1;//这个是让他显示在上层,作用不大
needsetz=false;
}
2,好了,回到public class gmmanager : MonoBehaviour {。
建立这么一个函数
private void MoveNum(){
if (Input.GetKey (KeyCode.W)) {
return;
}
if (Input.GetKey (KeyCode.S)) {
return;
}
if (Input.GetKeyDown (KeyCode.A)) {
return;
}
if (Input.GetKeyDown (KeyCode.D)) {}
}
3,然后我们在if (Input.GetKeyDown (Ke
1,前面的第6点已经给出方块的完整的代码了,这里把思路讲讲。
当newPos改变的时候,方块就朝newPos的位置移动。
//,也就是newPos.x=-132f,所以这个方块的位置是[0]
private void MoveNum(){
if (Input.GetKey (KeyCode.W)) {
return;
}
if (Input.GetKeyDown (KeyCode.D)) {}
}
3,然后我们在if (Input.GetKeyDown (Ke