Unity3D 学习教程 12 C# 发射炮弹

建立一个炮弹

一个球体

双击脚本

进入编辑器

 1 using UnityEngine;
 2 using System.Collections;
 3
 4 public class acc : MonoBehaviour {
 5
 6     // Use this for initialization
 7     public Transform Q;
 8     int speed=50;
 9     void Start () {
10
11     }
12
13     // Update is called once per frame
14     void Update () {
15         float x = Input.GetAxis("Horizontal") * Time.deltaTime * speed;//左右移动
16         float z = Input.GetAxis("Vertical") * Time.deltaTime * speed;//    前后移动
17         //主摄像机物体    移动
18         transform.Translate(x,0,z);
19
20         if(Input.GetKeyDown(KeyCode.Mouse0))
21         {
22             Transform n = (Transform)Instantiate(Q,transform.position,transform.rotation);
23             Vector3 f = transform.TransformDirection(Vector3.forward);
24             n.rigidbody.AddForce(f*2000);
25         }
26
27         print(x+"--"+z);
28     }
29 }

public Transform Q;

建立一个炮弹 Q

Transform

Transform 变换

Inherits from Component,IEnumerable

Position, rotation and scale of an object.

物体的位置、旋转和缩放。

Every object in a scene has a Transform. It‘s used to store and manipulate the position, rotation and scale of the object. Every Transform can have a parent, which allows you to apply position, rotation and scale hierarchically. This is the hierarchy seen in the Hierarchy pane. They also support enumerators so you can loop through children using:

场景中的每一个物体都有一个Transform。用于储存并操控物体的位置、旋转和缩放。每一个Transform可以有一个父级,允许你分层次应用位置、旋转和缩放。可以在Hierarchy面板查看层次关系。他们也支持计数器(enumerator),因此你可以使用循环遍历子物体。

  • C#
  • JavaScript
using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
public void Awake() {
foreach (Transform child in transform) {
child.position += Vector3.up * 10.0F;
}
}
}
// Moves all transform children 10 units upwards!
//向上移动所有变换的子物体10个单位
for (var child : Transform in transform) {
	child.position += Vector3.up * 10.0;
}

参见:Physics 类.

Variables变量

  • position

    The position of the transform in world space. 在世界空间坐标transform的位置。

  • localPosition

    Position of the transform relative to the parent transform. 相对于父级的变换的位置。

  • eulerAngles

    The rotation as Euler angles in degrees. 旋转作为欧拉角度。

  • localEulerAngles

    The rotation as Euler angles in degrees relative to the parent transform‘s rotation. 旋转作为欧拉角度,相对于父级的变换旋转角度。

  • right

    The red axis of the transform in world space. 在世界空间坐标变换的红色轴。也就是x轴。

  • up

    The green axis of the transform in world space. 在世界空间坐标变换的绿色轴。也就是y轴。

  • forward

    The blue axis of the transform in world space. 在世界空间坐标变换的蓝色轴。也就是z轴。

  • rotation

    The rotation of the transform in world space stored as a Quaternion. 在世界空间坐标物体变换的旋转角度作为Quaternion储存。

  • localRotation

    The rotation of the transform relative to the parent transform‘s rotation. 物体变换的旋转角度相对于父级的物体变换的旋转角度。

  • localScale

    The scale of the transform relative to the parent. 相对于父级物体变换的缩放。

  • parent

    The parent of the transform. 物体变换的父级。

  • worldToLocalMatrix

    Matrix that transforms a point from world space into local space (Read Only). 矩阵变换的点从世界坐标转为自身坐标(只读)。

  • localToWorldMatrix

    Matrix that transforms a point from local space into world space (Read Only). 矩阵变换的点从自身坐标转为世界坐标(只读)。

  • root

    Returns the topmost transform in the hierarchy. 返回层次最高的变换。

  • childCount

    The number of children the Transform has. 变换的子物体数量。

  • lossyScale

    The global scale of the object (Read Only). 物体的全局缩放(只读)。

Functions函数

  • Translate

    Moves the transform in the direction and distance of translation. 移动transform在translation的方向和距离。

  • Rotate

    Applies a rotation of eulerAngles.z degrees around the z axis, eulerAngles.x degrees around the x axis, and eulerAngles.y degrees around the y axis (in that order). 应用一个欧拉角的旋转角度,eulerAngles.z度围绕z轴,eulerAngles.x度围绕x轴,eulerAngles.y度围绕y轴(这样的顺序)。

  • RotateAround

    Rotates the transform about axis passing through point in world coordinates by angle degrees. 按照angle度通过在世界坐标的point轴旋转物体。

  • LookAt

    Rotates the transform so the forward vector points at /target/‘s current position. 旋转物体,这样向前向量指向target的当前位置。

  • TransformDirection

    Transforms direction from local space to world space. 从自身坐标到世界坐标变换方向。

  • InverseTransformDirection

    Transforms a direction from world space to local space. The opposite of Transform.TransformDirection. 变换方向从世界坐标到自身坐标。和Transform.TransformDirection相反。

  • TransformPoint

    Transforms position from local space to world space. 变换位置从自身坐标到世界坐标。

  • InverseTransformPoint

    Transforms position from world space to local space. The opposite of Transform.TransformPoint. 变换位置从世界坐标到自身坐标。和Transform.TransformPoint相反。

  • DetachChildren

    Unparents all children. 所有子物体解除父子关系。

  • Find

    Finds a child by name and returns it. 通过名字查找子物体并返回它。

  • IsChildOf

    Is this transform a child of parent? 这个变换是父级的子物体?

Inherited members继承成员

Inherited Variables继承变量

  • name

    The name of the object. //物体的名字

  • hideFlags

    Should the object be hidden, saved with the scene or modifiable by the user? 物体是否被隐藏、保存在场景中或被用户修改?

Inherited Functions继承函数

  • GetInstanceID

    Returns the instance id of the object. 返回物体的实例ID

  • ToString

    Returns the name of the game object. 返回游戏物体的名称。

Inherited Class Functions继承类函数

  • operator bool

    Does the object exist? 物体是否存在?

  • Instantiate

    Clones the object original and returns the clone. 克隆原始物体,并返回克隆的物体

  • Instantiate.<T>

  • Destroy

    Removes a gameobject, component or asset. 删除一个游戏物体、组件或资源

  • DestroyImmediate

    Destroys the object obj immediately. It is strongly recommended to use Destroy instead. 立即销毁物体obj,强烈建议使用Destroy代替。

  • FindObjectsOfType

    Returns a list of all active loaded objects of Type type. 返回Type类型的所有激活的加载的物体列表

  • FindObjectOfType

    Returns the first active loaded object of Type type. 返回Type类型第一个激活的加载的物体。

  • operator ==

    Compares if two objects refer to the same 比较如果两个物体相同

  • operator !=

    Compares if two objects refer to a different object 比较如果两个物体不同

  • DontDestroyOnLoad

    Makes the object target not be destroyed automatically when loading a new scene. 加载新场景的时候使目标物体不被自动销毁。

int speed=50;

是步长

if(Input.GetKeyDown(KeyCode.Mouse0))

按下鼠标左键

Transform n = (Transform)Instantiate(Q,transform.position,transform.rotation);

创建一个新炮弹

Instantiate 是object类型  需要强制转换

Vector3 f = transform.TransformDirection(Vector3.forward);

三维坐标 Vector3.forward 0 0 1 向前

n.rigidbody.AddForce(f*2000);

给跑断加力

最后

点击 摄像头 把炮弹拖向 定义的public的变量

520 520小说 小说520 小说5205200 小说5200 5200小说 5200小说网

www.520books.com

http://www.cnblogs.com/goodchenqing/

http://blog.sina.com.cn/goodchenqing

http://goodchenqing.bokee.com/

http://blog.csdn.net/abc288abcd/article/category/2786567

时间: 2024-12-09 17:46:45

Unity3D 学习教程 12 C# 发射炮弹的相关文章

Unity3D 学习教程 13 C# 销毁炮弹

gameObject.renderer.enabled //是控制一个物体是否在屏幕上渲染或显示  而物体实际还是存在的 只是想当于隐身 而物体本身的碰撞体还依然存在的 GameObject.Destroy()  //表示移除物体或物体上的组件 代表销毁该物体  实际上该物体的内存并没有立即释放 而是在你下下个场景中槽释放内存资源,就是你a场景中Destroy了 一般是在c场景中才真正释放该物体的内存资源(这是我的体会 不知道理解错误没) gameObject.active   //是否在场景中

Unity3D 学习教程 1 入门

unity3d_4.0下载含安装教程 免费:可以随意下载或者观看 百度下载地址(提取码91x6) 视频教程下载 unity3d_4.0下载含安装教程 unity3d脚本下载含八百个实例教程打包 unity3d4.5下载含破解补丁 Unity5下载32位64位含破解补丁 unity3d视频教程 Unity3D游戏制作 Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏.建筑可视化.实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专

Unity3D 学习教程 11 c#脚本控制摄像头

首先新建一个脚本 点击创建一个文件夹起名C# 点击文件夹 创建一个C#脚本 建好文件后 双击文件 启动脚本编辑器 void Start () 是场景运行时加载程序 void Update ()  是每调用一针执行一次  可以认为是试试执行的程序 下面编写第一个脚本 控制摄像机移动 using UnityEngine; using System.Collections; public class acc : MonoBehaviour { int speed=50; void Start () {

Unity3D 学习教程 6 基本操作

打开文件 新建一个场景 ------------------------------------------------------------------ 打开一个场景 ---------------------------------------------------------------------------- 保存场景 ----------------------------------------------------------------------------------

Unity3D 学习教程 3 了解工程面板

首先我们来了解一下工程面板 file  是文件目录 hierarchy  层次结构  创建Unity3D自带控件的地方 --------------------------------------------华丽的分割线--------------------------------------------------------------- projct 项目 资源存放在这里 --------------------------------------------华丽的分割线--------

Unity3D 学习教程 7 基本应用与添加刚体

小分享:我有几张阿里云优惠券,用券购买或者升级阿里云相应产品最多可以优惠五折!领券地址:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=ohmepe03 创建一个立方体 按 F2  改名 名字改完后 修改位置 把它放在000 处 我们把y改为10  让它悬在空中 下面就让物体拥有重力.质量  ,就要给物体添加刚体组件 点击物体 点击属性面板 Add component   选择 Physics

Unity3D 学习教程 2 创建游戏工程与界面

新建一个项目 u3D 对中文支持不太好  尽量不要用中文 一定不要用中文 点击创建 Create 界面创建成功 场景自带一个主摄像机 少于200字的文章不允许发布到首页候选区  要200字啊  我多加一点  不知道可不可以  图片不算怎么办  码字吧  哎~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Unity3D 学习教程 5 属性面板

小分享:我有几张阿里云优惠券,用券购买或者升级阿里云相应产品最多可以优惠五折!领券地址:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=ohmepe03 添加一个点光源 点击添加完成 绿色的是Y轴  为高度 红色的是x轴  为横向 蓝色的是Z轴  为纵向 再看看属性 Local Rotation  x = 0  y = 3.18  z = 0  是坐标 Local Scale  x = 1  y

Unity3D 学习教程 9 旋转 放大 移动 物体

小分享:我有几张阿里云优惠券,用券购买或者升级阿里云相应产品最多可以优惠五折!领券地址:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=ohmepe03 点击选中物体 点击控制面板快捷栏 1 是平移镜头 2 是移动物体 点击箭头平移 3是转动物体 点击线圈转动 4 是 放大缩小物体 520 520小说 小说520 小说5205200 小说5200 5200小说 5200小说网 www.520bo