CR开发笔记-2基础飞机的搭建以及测试代码

好吧!今天没有建模,主要是美术细胞死了。

处于一种劳累的状态。

快速说一下今天的进度

啊,这就是一个逗比飞机的基本骨架。

没有什么好解释的。

这里开始坑人了,上面的红色箭头指的是是否利用重力,这里由于是飞船么,宇宙中暂时没有重力,所以去掉。

下面是的红红的是是否符合经典物理动力学。

(说白了就是是否可以支持Force,今天我以为他是是否失重,然后调了半天代码%>_<%)

然后贴代码。

public class levelRun : MonoBehaviour {

// Use this for initialization

void Start () {

this.gameObject.AddComponent("standardShipControl");

}

// Update is called once per frame

void Update () {

}

}

这个文件绑定在每个关卡场景的levelRun里面,在这里是载入一个标准飞船控制脚本。以后还会载入各种GUI之类的文件,这样让整个体系更灵活化,便于操作。

下面是标准操作的一开始定义代码

public class standardShipControl : MonoBehaviour {

GameObject ship;

Transform frontLeftPropeller;

Transform frontRightPropeller;

Transform backLeftPropeller;

Transform backRightPropeller;

Transform backPropeller;

Transform frontPropeller;

Transform frontWing;

Transform backWing;

// Use this for initialization

void Start () {

ship = GameObject.Find("ship");

frontWing = transform.Find("/ship/frontWing");

backWing = transform.Find("/ship/backWing");

backLeftPropeller = transform.Find("/ship/backLeftWingPropeller");

backRightPropeller = transform.Find("/ship/backRightWingPropeller");

frontLeftPropeller = transform.Find("/ship/frontLeftWingPropeller");

frontRightPropeller = transform.Find("/ship/frontRightWingPropeller");

backPropeller = transform.Find("/ship/backPropeller");

frontPropeller = transform.Find("/ship/frontPropeller");

}

// Update is called once per frame

void Update () {

}

void FixedUpdate(){

if(Input.GetKey("w"))

{

//UnityEngine.Debug.Log("he");

ship.rigidbody.AddForceAtPosition(ship.transform.forward, backPropeller.position);

}

}

}

需要注意的就是在外部加载的脚本,貌似在transform里的参数在前面需要加一个/否则找不到,原来加不加是一样的。

重要函数UnityEngine.Debug.Log("he")调试。

ship.rigidbody.AddForceAtPosition(ship.transform.forward, backPropeller.position);在固定点施加力。

结束!睡觉!

PS:(程序员不适合画画)

CR开发笔记-2基础飞机的搭建以及测试代码

时间: 2024-10-08 06:02:20

CR开发笔记-2基础飞机的搭建以及测试代码的相关文章

CR开发笔记-6用户数据存储

仍然是贴代码 using UnityEngine; using System.Collections; public class DateControl : MonoBehaviour { public static string Name; public static int Num; bool JBstart; float fullWidth; float fullHeight; Rect fullScreen; //窗口 Rect NameText; Rect GoBtn; Rect po

CR开发笔记-4模型。。我的审美去哪里了

我的审美去哪里了. 呃 好吧,今天基本上没什么代码. maya建模就弄出来了这个鬼东西 审美不见惹 世界的恶意,没有游戏原画的悲哀. 今天针对这个逗比的模型说一说吧. 美观什么的,美感君已经死了. 真的死了. 和谐君也死了. 强调3点 1.maya里渲染出来的效果,你不要相信,unity不支持辉光,只支持光晕.到unity里你的东西一般是非常屌丝的 2.输出文件为fbx,为啥是fbx,fbx,3dmax可以用 maya可以用 都可以用,容量小,相对的,很多材质不支持,但是利大于弊. 输出fbx需

CR开发笔记-5主界面GUI的进一步代码完善

新增代码 if (winID == 2) { GUILayout.BeginVertical("box"); GUILayout.Box("日记",GUILayout.Height(fullHeight/8)); GUILayout.BeginHorizontal("box"); if (GUILayout.Button("蓝光隧道I", GUILayout.Height(fullHeight / 5))) { Applica

CR开发笔记-3GUI界面制作

今天是第三篇 今天主要是做UI界面,非常容易,我也不用NGUI直接上好了! 直接上代码! using UnityEngine; using System.Collections; public class Startmenu : MonoBehaviour { float fullWidth; float fullHeight; Rect rtFullscreen; Rect rtBeginBtn; //窗口定义 //这个玩意的效果就是只让一个窗口存在 bool WindowsExist; //

CR开发笔记-1工作前的准备

任何一个游戏的开发都要在之前好好想一想 首先这个游戏怎么制作,是一个什么游戏? across是一个探索向逃生宇宙逃生游戏.考虑到我的美工能力,我不敢做什么rpg之类的,估计也就...做个飞船,做个星球,做几个奇葩的地形. 暂时不提. 游戏背景基于V-ver大背景,starlight号的故事,这个故事是这样的,starlight号困在某某空间中,需要与宇宙那边的星团共和国联络,于是派出了..... (说好的开发呢) 咳咳! 好的,下面是正题. 首先我们需要把资源想一下,我需要什么资源. GUI,毋

Fast.Framework开发笔记二:VisualStudio解决方案的搭建

VisualSutio项目结构图: 对!你没有看错,本篇说的就是解决方案的搭建.是不是觉得没一点技术含量啊?,我们先来看下要搭建一个什么样的解决方案吧? 第一.软件架构师能对框架代码进行封装(Framework.Applications). 第二.软件开发工程师以DLL形式调用所有框架代码,并在相应的项目中可以进行定制化开发. 解决方案说明: Applications (框架的业务代码将会放在这里面,实际路径在Fast.ERP.Web之下,是为了开发项目在访问框架里面的View页面) |----

IOS科研IOS开发笔记学习基础知识

这篇文章是我的IOS学习笔记,他们是知识的基础,在这里,根据记录的查询后的条款. 1,UIScrollView能完毕滚动的功能. 示比例如以下: UIScrollView *tableScrollView; tableScrollView=[[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];//窗体大小 tableScrollView.contentSize=CGSizeMake(640, 480);//设置内容视图的大

iOS开发笔记系列-基础3(多态、动态类型和动态绑定)

多态:相同的名称,不同的类 使不同的类共享相同方法名称的能力成为多态.它让你可以开发一组类,这组类中的每一个类都能响应相同的方法名.每个类的定义都封装了响应特定方法所需要的代码,这使得它独立于其他的类定义.这是因为Objective-C的运行时系统在执行方法时知道消息的接收者是哪个类的对象,它总是携带有关“一个对象属于哪个类”这样的信息,该信息能使系统在运行时做出决定,而不是在编译时. 动态绑定和id类型 id数据类型是一种通用的对象类型,可以用来存储属于任何类的对象.当使用id类型的时候,程序

iOS开发笔记系列-基础7(C语言特性)

Objective-C是C语言的扩展,因此,也具备很多C语言的基本特性,这里只罗列部分. 块(Blocks) 块是对C语言的一种扩展,它并未作为标准ANSI C所定义的部分,而是Apple添加到语言中的.它看起来很像函数,可以给它传递参数,它也具有返回值,与函数不同的是,块定义在函数或方法内部,并能够访问在函数或者方法范围内块之外的任何变量.一般来说,它可以访问到这些变量但是不能修改它们的值,有一个特殊的块修改器(由块前面含有两个下划线的字符组成)能够修改块内变量的值.块本身也能够作为参数传递给