Unity3D+脚本+中文+参考

Unity3D+脚本+中文+参考
Unity3D+脚本+中文+参考

Unity3D 脚本中文参考(1)

这是一个关于Unity内部脚本如何工作的简单概览。

Unity内部的脚本,是通过附加自定义脚本对象到游戏物体组成。在脚本对象内部不同的函数被特定的事件调用。最常用的列在下面:

Update:这个函数在渲染一帧之前被调用。这里是大部分游戏行为代码被执行的地方,除了物理代码。

FixedUpdate

这个函数在每个物理时间同步被调用一次。这是处理基于物理游戏行为的地方。

在任何函数之外的代码:

在任何函数之外的代码在物体被加载的时候运行。这个可以用来初始化脚本状态。

注意:文档的这个部分假设你是用JS,参考用C#编写脚本获取如何使用C#和Boo编写脚本的信息。

你也能定义事件句柄。它们的名称都以On开始,(例如OnCollisionEnter)。为了查看完整的预定义事件的列表,参考MonoBehaviour文档。

概览:常用操作

大多数游戏物体的操作是通过游戏物体的Transform和/或Rigidbody来做的。在行为脚本内部它们可以分别通过transform和rigidbody访问。因此如果你想绕着Y轴每帧旋转5度,你可以如下写:

function Update(){

transform.Rotate(0,5,0);

}

如果你想向前移动一个物体,你应该如下写:

function Update(){

transform.Transtate(0,0,2);

}

概览:跟踪时间

Time类包含一个非常重要的类变量,称为deltaTime。这个变量包含从上一次调用Update或FixedUpdate (根据你是在Update函数还是在FixedUpdate函数中)到现在的时间量。

所以对于上面的例子,修改它使这个物体以一个恒定的速度旋转而不依赖于帧率:

function Update(){

transform.Rotate(0,5*Time.deltaTime,0)

}

移动物体:

function Update(){

transform.Translate(0,0,2*Time.deltaTime);

}

如果你加或减一个每帧改变的值,你应该将它与Time.deltaTime相乘。当你乘以Time.deltaTime时,你实际表达:我想以10米/秒移动这个物体而不是10米/帧。这不仅仅是因为你的游戏将独立于帧率运行,同时也是因为运动的单位容易理解。(10米/秒)

另一个例子,如果你想随着时间增加光照的范围。下面的表达式,以2单位/秒改变半径。

function Update(){

light.range *=2.0*Time.delta.Time;

}

当通过力处理刚体的时候,你通常下不必用Time.deltaTime乘,因为引擎已经为你考虑到了这点。

概览:访问其他组件

组件被附加到游戏物体。附加Renderer到游戏物体使它在场景中渲染,附加一个Camera使它变为相机物体。所有的脚本都是组件,因为它们能被附加到游戏物体。

最常用的组件可以作为简单成员变量访问:

Component 可如下访问

Transform transform

Rigidbody rigidbody

Renderer renderer

Camera camera(only on camera objects)

Animation animation

Collider collider

……等等。

对于完整的预定义成员变量的列表,查看Component,Behaviour和MonoBehaviour类文档。如果游戏物体没有你想去同类型的组件,上面的变量将被设置为null。

任何附加到一个游戏物体的组件或脚本都可以通过GetComponent访问。

transform.Translate(0,1,0);

//等同于

GetComponent(Transform).Translate(0,1,0);

注意transform和Transform之间大小写的区别。前者是变量(小写),后者是类或者脚本名称(大写)。大小写不同使你能够从类和脚本名中区分变量。

应用我们所学,你可以使用GetComponent找到任何附加在同一游戏物体上的脚本和组件。请注意要使下面的例子能够工作,你需要有一个名为OtherScript的脚本,其中包含一个DoSomething函数。OtherScript脚本必须与下面的脚本附加到相同的游戏物体上。

//这个在同一个游戏物体上找到名为OtherScript的脚本

//并调用它上面的DoSomething.

function Updata(){

otherScript = GetComponent(OtherScript);

otherScript.DoSomething();

}

概览:访问其他游戏物体

大多数高级的代码不仅需要操作一个物体。Unity脚本接口有各种方法来找到并访问其他游戏物体和组件。在下图,我们假定有一个名为OtherScript.js的脚本附加到场景的游戏物体上。

var foo = 5;

function DoSomething(param:String){

print(param + ”with foo:” + foo);

}

1. 通过检视面板赋值引用。

你可以通过检视面板赋值变量到任何物体。

//变量拖动到target槽的物体

var target : Transform;

function Update()

{

target.Translate(0,1,0);

}

你也可以在检视面板中公开到其他物体的引用。下面你可以一个包含OtherScript的游戏物体到检视面板中的target槽。

//设置在检视面板中赋值的target变量上的foo,调用DoSomething.

var target:OtherScript;

function Update()

{

//设置target物体的foo变量

target.foo = 2;

//调用target上的DoSomething

target.DoSomething(“Hello”);

}

2. 通过物体层定位。

对于一个已存在的物体,可以通过游戏物体的Transform组件来找到子和父物体:

//找到脚本所附加的

//游戏物体的子“Hand”

transform.Find(“Hand”).Translate(0,1,0);

一旦在层次视图中找到这个变换,你可以使用GetComponent来获取其他脚本,

//找到名为“Hand”的子。

//调用附加到它上面的OtherScript脚本的DoSomething.

transform.Form(“Hand”).GetComponent(OtherScript)DoSomething(“Hello”);

//找到名为”Hand”的子

//然后应用一个力到附加在hand上的刚体

transform.Find(“Hand”).rigidbody.AddForce(0,10,0);

你可以循环所有的子。

//变换的所有子向上移动10个单位

for(var child : Transform in transform)

{

child.Transform(0,1,0);

}

参考Transform类文档获取更多的信息

3. 根据名称或标签定位

你可以使用GameObject.FindWithTag和GameObject.FindGameObjectWithTag搜索具有特定标签的游戏物体。使用GameObject.Find根据名称查找物体。

function Start()

{

//按照名称

var go = GameObject.Find(“SomeGuy”);

go.transform.Translate(0,1,0);

//按照标签

var player = GameObject.FindWithTag(“Player”);

player.transform.Transform(0,1,0);

}

你可以在结果上使用GetComponent,在找到的游戏物体上得到任何脚本或组件。

function Start()

{

//按名称

var go = GameObject.Find(“SomeGuy”);

go.GetComponent(OtherScript).DoSomething();

//按标签

var player = GameObject.FindWithTag(“Player”);

player.GetComponent(OtherScript).DoSomething();

}

一些特殊的物体有快捷方式,如主相机使用Camera.main。

4. 作为参数传递

一些事件消息在事件中包含详细信息。例如,触发事件传递碰撞物体的Collider组件到处理函数。

OntriggerStay给我们一个碰撞器的引用。从这个碰撞器我们可以获取附加到其上的刚体。

function OnTriggerStay(other : Collider){

//如果另一个碰撞器也有一个刚体

//应用一个力到它上面

if(other.rigidbody){

other.rigidbody.AddForee(0,2,0);

}

}

或者我们通过碰撞器获取附加在同一物体上的任何组件。

function OnTriggerStay(other:Collider){

//如果另一个碰撞器附加了OtherScript

//调用它上面的DoSomething

//大多数时候碰撞器不会附加脚本

//所以我们需要首先检查以避免null引用异常

if(other.GerComponent(OtherScript)){

other.GetComponent(OtherScript).DoSomething();

}

}

注意通过上述例子中的other变量,你可以访问碰撞物体中的任何组件。

5一种类型的所有脚本

使用Object.FindObjectsOfType找到所有具有相同类或脚本名称的物体,或者使用

Object.FindObjectOfType找到这个类型的第一个物体。

function Start()

{

//找到场景中附加了OtherScript的任意一个游戏物体

var other : OtherScipt = FindObjectOfType(OtherScript);

other.DoSomething();

}

来源:https://www.360docs.net/doc/1d5964347.html,/blog/static/796146982010611112655758/

概览:向量

Unity使用Vector3类统一表示全体3D向量。3D向量的不同组件可以通过x,y和z成员变量访问。

var aPosition:Vector3;

aPosition.x = 1;

aPosition.y = 1;

aPosition.z = 1;

你也可能够使用Vector3构造函数来同时初始化所有组件

var aPosition = Vector3(1,1,1);

Vector3也定义了一些常用的常量值。

var direction = Vector3.up;//与Vector3(0,1,0);相同

单个向量上的操作可以使用下面方式访问:

someVector.Normalize();

使用多个向量的操作可以使用Vector3类函数:

theDistance = Vector3.Distance(oneVector,otherVector);

(注意你必须在函数名之前写Vector3.来告诉JS在哪里找到这个函数,这适用于所有类函数。)

你也可以使用普通数学操作来操纵向量。

combined = vector1 + vector2;

查看Vector3类文档获取完整操作和可用属性的列表。

概览:成员变量&全局变量

定义在任何函数之外的变量是一个成员变量。在Unity中这个变量可以通过检视面板来访问。任何保存在成员变量中的值也可以自动随工程保存。

var memberVariable = 0.0;

上面的变量将在检视面板中显示名为”Member Variable”的数值属性。

如果你设置变量的类型为一个组件类型(例如Transform,Rigidbody,Collider,任何脚本名称,等等)。然后你可以在检视面板中通过拖动一个游戏物体来设置它们。

var enemy : Transform;

function Update()

{

if(Vector3.Distance(enemy.position,transform.position)<10){

print(“I sense the enemy is near”);

}

}

你也可以创建私有成员变量。私有成员变量可以用来储存那些在该脚本之外不可见的状态。私有成员变量不会被保存到磁盘并且在检视面板中不能编辑。当它被设置为调试模式时,它们在检视面板中可见。这允许你像一个实时更新的调试器一样使用私有变量。

private var lastCollider : Collider;

function OnColliderEnter(collisionInfo : Collision){

lastCollider = collisionInfo.other;

}

全局变量

你也可以使用static关键字创建全局变量。

着创造了一个全局变量,名为someGlobal。

//TheScriptName.js中的一个静态变量

static var someGlobal = 5;

//你也可以在脚本内部像普通变量一样访问它

print(someGlobal);

someGlobal = 1;

为了从另一个脚本访问它,你需要使用这个脚本的名称上加上一个点和全局变量名。

print(TheScriptName.someGlobal);

TheScriptName.someGlobal = 10;

来源:https://www.360docs.net/doc/1d5964347.html,/blog/static/7961469820107934114974/

Unity 3d 引用GUI QQ似展开

像QQ一样,你放上面你鼠标放上去它会向下展开 .

var show = false;

var grow = false;

var min = 0.0;

var max = 50.0;

var height = 0.0;

var speed = 0.0;

//var skin:GUISkin;

function OnGUI ()

{

//GUI.skin = skin;

if(GUI.Button(Rect(5,5,104,25),"List"))

{

grow = true;

if(!show)

show = true;

}

if(show)

{

GUILayout.BeginArea(Rect(7,30,100,height),"","Box");

GUILayout.BeginVertical();

for(i = 0;i<8;i++)

GUILayout.Button(i+".Title");

GUILayout.EndVertical();

GUILayout.EndArea();

}

if(grow)

{

speed += Time.deltaTime*5.0;

height = Mathf.Lerp(min,max,speed);

if(Mathf.Approximately(height,max))

{

grow = false;

max = min;

min = height;

speed = 0.0;

if(min == 0)

show = false;

}

}

}

Unity 3d 给物体添加力

Unity 3D 2010-08-26 17:08:43 阅读62 评论0 字号:大中小订阅

第一种:

this.gameObject.rigidbody.AddForce(0,0,5);

加力的方向和力度

第二种:

this.gameObject.rigidbody.AddForceAtPosition(ts.position - this.transform.position,

transform.position,ForceMode.Impulse);

(力的目标,本身,力的类型)

引用U3D屏幕截图

Unity 3D 2010-08-23 17:06:12 阅读58 评论0 字号:大中小订阅

本文引用自博者《U3D屏幕截图》

引用

博者的U3D屏幕截图

function ScreenshotEncode()

{

// wait for graphics to render

yield WaitForEndOfFrame();

// create a texture to pass to encoding

var texture:Texture2D = new Texture2D (Screen.width, Screen.height, TextureFormat.RGB24, false); // put buffer into texture

texture.ReadPixels(Rect(0.0, 0.0, Screen.width, Screen.height), 0.0, 0.0);

texture.Apply();

// split the process up--ReadPixels() and the GetPixels() call inside of the encoder are both pretty heavy yield;

// create our encoder for this texture

var encoder:JPGEncoder = new JPGEncoder(texture, 75.0);

// encoder is threaded; wait for it to finish

while(!encoder.isDone)

yield;

// save our test image (could also upload to WWW)

File.WriteAllBytes(Application.dataPath + "/../testscreen-" + count + ".jpg", encoder.GetBytes());

count++;

}

//简便方法看下面:

function OnMouseDown() {

Application.CaptureScreenshot("Screenshot.png");

}

Unity 3d 射线(获得鼠标点击的坐标[x,y,z])

Unity 3D 2010-08-19 11:49:40 阅读134 评论0 字号:大中小订阅

using UnityEngine;

using System.Collections;

public class Lu : MonoBehaviour

{

public Camera cam;

// We need to actually hit an object

RaycastHit hitt = new RaycastHit();

// Use this for initialization

void Start()

{

}

// Update is called once per frame

void Update()

{

Ray ray = cam.ScreenPointToRay(Input.mousePosition);

Physics.Raycast(ray, out hitt, 100);

// Debug.DrawLine(cam.transform.position, ray.direction,Color.red);

if (null != hitt.transform)

{

print(hitt.point);//鼠标点击的坐标

}

}

}

Unity 3d 用代码脚本建造一堵Cube墙

Unity 3D 2010-08-17 10:26:59 阅读142 评论0 字号:大中小订阅

C#版:

// Use this for initialization

void Start()

{

for (int y = 0; y < 5; y++)

{

for (int x = 0; x < 5; x++)

{

GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube);

cube.AddComponent();

cube.transform.position = new Vector3(x, y, 0);

}

}

}

JS版:

function Start () {

for (var y = 0; y < 5; y++) {

for (var x = 0; x < 5; x++) {

var cube = GameObject.CreatePrimitive(PrimitiveType.Cube);

cube.AddComponent(Rigidbody);

cube.transform.position = Vector3 (x, y, 0);

}

}

}

Unity 3d 里Render Texture在屏幕中做小屏幕用

Unity 3D 2010-08-16 13:39:06 阅读181 评论2 字号:大中小订阅

先做准备工作,我们要用到Render Texture.先创建一张render texture图片。

这时候这张照片是空的,因为我们没指定摄像机。在顶视图创建一个相机,调整好位置。在target texture 选项里,选择刚才创建的render texture。

这时候render texture 里面就有画面了。如图

接下来我们就要让它显示出来。代码如下:

var pic:RenderTexture;

function OnGUI () {

GUI.Box(Rect(0,Screen.height-100,100,100),pic);

}

Unity 3d 里有关时间延迟

Unity 3D 2010-08-11 16:11:42 阅读65 评论0 字号:大中小订阅

IEnumerator WaitAndPrint(float waitTime)

{

// pause execution for waitTime seconds

yield return new WaitForSeconds(waitTime);

print("----------------")

}

在其它方法里调用:

StartCoroutine(WaitAndPrint(3.0F));

好像在Update里不好用。没试。

暂停Time.timeScale = 0;

FixedUpdate功能将不会被调用时,时间刻度设置为零。

untiy3d(运行性能)的美工方面需要知道的知识(二)

Unity 3D 2010-08-11 14:48:39 阅读90 评论0 字号:大中小订阅

总体来说:合并,合并,合并!

如果你比较关心游戏的速度,请合并模型。最好能够把合并的模型使用同样的材质和贴图(材质也要合)。Rendering Statistics窗口时很有用的!

现在的图形显卡可以很好的支持很多的多边形,但是他们他们还是有一些瓶颈的。所以如果你有一个有100个三角形的MESH,它渲染起来所需要花费的运算跟1500个面数的物体是没有多大差别的。因此最佳的渲染设置时每个模型大约1500-4000个三角面。

只有在游戏组件中的属性栏中勾选Mesh Renderer选项显卡才会渲染相应的模型,并且在场景中的空的GameObject组件是不会被渲染的。

所以再次重复,最好的导入渲染设置时合并Objects直到他们每个模型在1500个三角面面甚

至更高一些,并且为整个模型使用一个材质。

如果只是把两个模型合并在一起但是不共同使用同一个材质并不会给你的图形带来一点优化。如果你想有效的合并物体,你需要保证你合并后的模型使用一个材质。(其实就是尽量减少材质球的数量)

在你合并物体的时候需要知道一件事:如果你在你的场景中用到了很多小的灯光,你可以把场景中离得很近的物体合并为一个Object。

按照上面的思路,如果一个MESH具有多个材质球,那就说明在计算机渲染的时候是要进行多重运算的。最普遍的你之所以一个MESH用多个材质的原因是因为两个材质不能使用相同的贴图。所以如果你想要优化渲染设置,你最好确定你合并的那些MESH的材质是相同的。

Unity对于向显卡导出各种多边形是很擅长的,它可以很详尽的把所有的图形导入到显卡,并且优化数据。你需要做的只是确定你的图形显示卡正常工作。而不是要调整很多手动调节的设置。

The number of Pixel Lights affecting an object heavily affects performance. 相当数量的

实时灯光对于游戏速度也是有限制的。

如果你想要有一个不错的展示,并且不关心凹凸贴图和实施灯光(Bumpmapping or Pixel Lighting),可以去Edit->Render Settings...然后设置Pixel Light Coun为0.这将会给所有的Object使用顶点灯光。这将会让所有的物件在每一帧都会被渲染一次。这是一个比较极端的LOD设置,所以你的游戏就可以再比较老的图形显卡下运行了。

Pixel lights 像素灯光

如果你使用的是像素灯光,那么每个被这个灯光照射到的GameObject都会在每一帧被渲染一次。如果你合并了两个距离很远的物体,他就会增加物件的大小,然后你就会需要一些灯光来照亮这些物体。如果你的物件是分开的,灯光将不会渲染远处的物体,这将会导致模型得到多次渲染,相比较没有被合并的模型,我们并没有得到多少实惠。因此,如果你的GameObject中有很多独立物件的时候,你可以让他们离得比较远。

当渲染一个模型的时候,UNTIY如果发现很多灯光在MESH的周围,它将会找出那个是主要影响这个MSEH的灯光,在Edit->Render Settings中的设置就是用来调整有多少个灯光最终作为像素灯光有多少作为顶点灯光。

每一个灯光通过计算离MESH得距离和自己灯光强度来决定自己的重要程度。

在游戏中的某些灯光是很重要的,所以,每一个灯光都会有一个Render Mode设置,这个用来设置哪一个可以被用来设置为Force Pixel 或者 Force Vertex.

想象一下假如我们是一个驾车的游戏,你的角色在夜晚打开车灯,前面的车灯就是游戏中最重要的灯光。因此,前大灯的渲染模式将会被设置为Force Pixel

当然如果你有一个不是很重要的灯光,也是选择使用"Force Vertex"的渲染模式,这个方式也不会对游戏的速度有很大的影响的。

影子

阴影普遍运算量比较大。如果运用得当,可以让游戏画面出色,你也可以乐队相关文档。

角色建模优化

你的角色应该只被用于一个蒙皮模型渲染器。当然有时候可能需要多个蒙皮的模型,但是如果你同时用两个蒙皮来作为一个角色,它就相当于你进行了两个角色的运算量。

你同样需要保持MESH的材质数量尽可能低。一般建议身体的材质数量为2-3个,当然如果你有武器的材质,也是需要单独一个的,因为你需要换武器。

减少骨骼的数量,一般来说游戏中的骨骼数量为15-60个。骨骼越少运行速度越快,一般来说30块骨骼就可以让角色动的很舒服了。如果你不是有特殊的设置,我们强烈建议每个角色30个骨骼。

多边形的数量主要是看你对游戏的质量要求,500-6000个三角面是比较推荐的。如果你的游戏场景中将会出现多个角色,那么就要适当的降低一下多边形数量了。如果你想要在比较老的机器上运行,你需要更少的多边形数量。比如,半条命2游戏的角色通常是2500-5000个三角面。达到AAA标准的次时代游戏比如像是PS3或者XBOX360上的游戏角色通常有5000-7000个三角面。

把IK控制器和FK控制器分离,当动画导入以后,IK的节点将会烘焙到FK上,其实UNITY并不需要IK节点,你可以删除它们。

创建一个公共的骨架,这样就可以让你让不同的角色之间共享动作了。

给每一个骨骼正确的命名,方便团队工作,也方便类似于Motionbuilder的动作软件,不然你得每次指定骨骼。优化综合的图形卡

优化模型参数

使用尽量少的面

UV接缝的数量尽可能少

烘焙灯光

烘焙灯光到光照贴图或者到顶点颜色。

MAYA具有不错的制作光照贴图的工具,UNITY可以从MAYA中导入第二个UV贴图或者顶点颜色。

制作环境的光照贴图的流程要比直接在场景中打灯光要繁琐的多,但是

运行速度明显增快。

如果你使用全局光并且平滑光照贴图,可以让画面效果明显增强。

甚至次时代游戏比如战争机器始终在很多方面使用光照贴图。通常他们在场景中使用光照贴图,然后在上面放置一个动态灯光。在UNITY中也可以制作相应的光照贴图Shader.

来源于:https://www.360docs.net/doc/1d5964347.html,/jdk900/blog/item/381acffea3e7993b5d6008df.html

untiy3d(性能)的美工方面需要知道的知识(一)

Unity 3D 2010-08-11 14:43:15 阅读131 评论0 字号:大中小订阅

首先,向伟大的SAKARI团队致敬,他们的游戏真不错,我也想模仿一下。截图如下:

我其实在我桌子上的废纸上记录了很多相关的类似于上面的总结,结果因为是废纸,丢了很多,不过还好,很多脑袋里面还有点印象,趁着没忘干净,赶紧记录下来。

(下面是正文)

总结着来,不怎么有条理,凑活着看吧。

1.引擎没有说具体的面数限制,也许是跟VIRTOOLS一样的标准,按机器性能而定。

2.导入图形或者MESH的方法无非两种,一种是直接拷贝到文件目录下的Assets文件夹下面,Unity3d引擎会自动找到添加的文件,并且能在PROJECT面板中找到它。另一种是我们在PROJECT面板中用右键菜单,导入素材。

当然,我是用MAYA导入的,U3D引擎对于MAYA的支持还是不错的,但是也需要注意,不要用中文的目录结构,最好直接从MAYA的工程文件夹中导入,最好在导入MESH前先吧贴图文件放到相应的文件夹,或者相关文件夹的子文件夹。

在我们导入场景文件的时候,需要在导入设置中勾选创建碰撞,这样导入的场景我们就可以踩在上面了。(这跟我们添加碰撞组件是有些不同德)

3. Unity3d引擎支持大多数常用的贴图,比如漫反射贴图,高光贴图,法线贴图。如此一来,它就成了一个名副其实的次时代引擎了。当然与UNREAL引擎的强大材质编辑器不同,U3D引擎主要是编辑材质的方式是使用一种专门的语言,类似于CgFX和Direct3D的语法。当然如果不是专门的图形程序员,我们只要掌握相关的SHADER的使用方法就可以了。在我们安装完U3D引擎后,系统自带的SHADER足够我们日常大多数情况下

使用了。如果我们还有特殊的要求,可以去官网上下载相关的程序,然后把代码保存为 .shader 的文件,放到相应的目录底下,然后我们就有了这种SHADER。

------------------------------------------------------------------

掌握并且理解了上面我说的乱七八糟的三点,你就可以作为一个U3D引擎的美工开始工作了。其中有几个需要我们进行深入探讨的几个方面:一是导入的MESH的要求,如何减面,UV的情况怎样,是否可以重叠UV。二是导入的贴图规范,我们的各种贴图要达到怎样的程度才能导入,并不是直接拍了照片贴上就很有效果的,我们需要在三维软件中烘焙,之后才能导入。还有光照贴图怎么制作。三是各种材质的应用,比如说我们最常用在皮肤上的3S材质效果,如何在U3D引擎中实现这种效果?

至此,你可以轻松的驾驭U3D引擎的Assets部分了。(松了一口气,其实很简单)

然后我们要用引擎构建关卡。好吧现在你要成为一个U3D引擎的关卡设计师,当然这里面也有很多美工要做的事情。我们不用每天对着素材模型,贴图骂娘了。

作为关卡设计师,特别是U3D的,一定要有一个GAME OBJECT的概念,在这个可爱引擎中,我们可以看到各种的元素都是由GAME OBJECT组成的,在GAME OBJECT上我们又可以添加组件在实现特定的功能,比如最简单的位移。我在第一次使用这个引擎的时候,突然兴致大发想要在场景中创建一盏灯,弄了半天都没成,后来才明白,灯光是要附着在GAME OBJECT上的。同理,声音也是要附着在这上面的。

还要有一个PREFABS得概念,就在层级菜单中的蓝色文字所代表的属性,其实就是在游戏中可以无限复制的意思,比如子弹,比如无数的需要出现的小物件儿。

类似于三维软件以及其他引擎,U3D的灯光分为那么普通的几类,电光源、方向光、自然光。了解灯光的属性和使用方法。

还有U3D引擎的物理系统。当我看到这个系统的时候我的心都开花了,一想到各种独立游戏中无敌的物理效果心里就暗爽。比如我们可以用最简单的方法做一个足球游戏。

********************

还是做游戏好,这个引擎能做网页游戏,也可以做PC单机游戏,网络游戏,也可以做IPHONE平台的手机游戏。真是万能了!

当然,上面很多都是初学时候的经验,下面是我后来加上的一些内容,是经过学习总结和辛苦翻译的。

让你的游戏能够顺畅的运行是成功的第一个要求。感谢UNTIY,他们通过大量的优化和调整可以让这个引擎发布的游戏运行于各种不同性能的硬件系统。下面是一个通用的优化游戏性能的方法。

来源于:https://www.360docs.net/doc/1d5964347.html,/jdk900/blog/item/ed33fe00ce1fdb1b738b65d3.html

Unity 3d 拖拽物体的脚本

Unity 3D 2010-07-30 16:31:52 阅读83 评论0 字号:大中小订阅

function OnMouseDown () {

var screenSpace = Camera.main.WorldToScreenPoint(transform.position);

var offset = transform.position - Camera.main.ScreenToWorldPoint(Vector3(Input.mousePosition.x,

Input.mousePosition.y, screenSpace.z));

while (Input.GetMouseButton(0))

{

var curScreenSpace = Vector3(Input.mousePosition.x, Input.mousePosition.y, screenSpace.z); var curPosition = Camera.main.ScreenToWorldPoint(curScreenSpace) + offset;

transform.position = curPosition;

yield;

}

}

Unity 3d <=实时阴影减少锯齿

Unity 3D 2010-07-28 17:16:38 阅读175 评论0 字号:大中小订阅

这是我看《叫你自由》的视频后写的。多谢

=====================================================================

实时阴影的资源优化

如何减少锯齿感?

1.合理设置斜面常量的数值

在灯光里调

Shadows->Constant Bias

->Object Size Bias

这两个是斜面常量数值,主要是调解自身的锯齿

2.尽量减小被投射阴影物体的面积(光投射的面积,越小越好)

3.不考虑资源的情况下,尽量使用大阴影贴图

贴图尺寸:Edit->project settings->Quality

这就是运行exe文件时的选择质量

就以Good为例:

Shadows

Shadow Resolution

这个就是贴图的分辨率

Low Resolution

Medium Resolution 默认

High Resolution 设置这个效果会好些

Shadow Cascades

这个就是第四点要说的级别

No Cascades

Two Cascades默认 (把细节与宏观分开)

Four Cascades 设置成4级

Shadow Distance

(第5点)这个就是显示阴影的距离,镜头远处的阴影不会显示

Anti Aliasing 默认为Disabled(无)第7点

Disabled

2x Multi Sampling

4x Multi Sampling

8x Multi Sampling

16x Multi Sampling

根据机器配置选择。

4.使用4级阴影贴图

5.尽量减小阴影对摄影机的可见距离

6.软阴影可达到抗阴影锯齿效果

软阴影在灯光里调

Shadows->Type 阴影的类型

No Shadows 默认无

Hard Shadows

Soft Shadows 选择这个软阴影

7.系统抗锯齿打开后,也会有少许效果

Unity 3d 物体运动到指定位置(X,Y,Z)

Unity 3D 2010-07-28 17:11:11 阅读70 评论0 字号:大中小订阅

int smooth = 2;

Quaternion target = Quaternion.Euler(0, 0, 0);//目标

// Dampen towards the target rotation

transform.rotation = Quaternion.Slerp(transform.rotation, target, Time.deltaTime * smooth); 控制GUI Texture的位置,置顶、置底、靠左、靠右、全屏的JS

Unity 3D 2010-07-21 14:03:09 阅读115 评论0 字号:大中小订阅

var Relative : boolean ;

var Top : boolean ;

var Right : boolean ;

function OnGUI() {

otherScript = GetComponent(GUITexture);//将GUITexture传递过来

thetexture = otherScript.texture;//获取GUITexture的纹理

if (Relative == true ){

if (thetexture.width > thetexture.height) {

W = Screen.width;

H = (Screen.width*thetexture.height)/thetexture.width;

} else {

W = (Screen.height*thetexture.width)/thetexture.height;

H = Screen.height;

}

} else {

W = thetexture.width ;

H = thetexture.height ;

}

if (Top == true ){

Y = Screen.height - H;

} else Y = 0 ;

if (Right == true ){

X = Screen.width -W;

} else X = 0;

otherScript.pixelInset = Rect (X,Y,W,H); //print (otherScript.pixelInset );

}

没使用前:

全屏按比例缩放:

置顶:

置顶、靠右:

来源于:https://www.360docs.net/doc/1d5964347.html,/article/Unity3D/30.htm

Unity 3d 拖动GUI(拖动图片)

Unity 3D 2010-07-14 14:20:00 阅读67 评论0 字号:大中小订阅

var windowRect = Rect (20, 20, 120, 50);

function OnGUI () {

// Register the window.

windowRect = GUI.Window (0, windowRect, DoMyWindow, "My Window"); }

// Make the contents of the window

function DoMyWindow (windowID : int) {

// Make a very long rect that is 20 pixels tall.

// This will make the window be resizable by the top

// title bar - no matter how wide it gets.

GUI.DragWindow (Rect (0,0, 10000, 20));

}

DIV+CSS:网站首页布局实例教程

DIV+CSS:网站首页布局实例教程 第一步:页面布局与规划 在网页制作中,有许多的术语,例如:CSS、HTML、DHTML、XHTML等等。在下面的文章中我们将会用到一些有关于HTML的基本知识,而在你学习这篇入门教程之前,请确定你已经具有了一定的HTML基础。下面我们就开始一步一步使用DIV+CSS进行网页布局设计吧。所有的设计第一步就是构思,构思好了,一般来说还需要用PhotoShop或FireWorks(以下简称PS或FW)等图片处理软件将需要制作的界面布局简单的构画出来,以下是我构思好的界面布局图。 下面,我们需要根据构思图来规划一下页面的布局,仔细分析一下该图,我们不难发现,图片大致分为以下几个部分: 1、顶部部分,其中又包括了LOGO、MENU和一幅Banner图片; 2、内容部分又可分为侧边栏、主体内容; 3、底部,包括一些版权信息。 有了以上的分析,我们就可以很容易的布局了,我们设计层如下图:

根据上图,我再画了一个实际的页面布局图,说明一下层的嵌套关系,这样理解起来就会更简单了。 DIV结构如下: │body {}/*这是一个HTML元素,具体我就不说明了*/ └#Container {}/*页面层容器*/

├#Header {}/*页面头部*/ ├#PageBody {}/*页面主体*/ │├#Sidebar {}/*侧边栏*/ │└#MainBody {}/*主体内容*/ └#Footer {}/*页面底部*/ 至此,页面布局与规划已经完成,接下来我们要做的就是开始书写HTML代码和CSS。 第二步:写入整体层结构和CSS 接下来我们在桌面新建一个文件夹,命名为“DIV+CSS布局练习”,在文件夹下新建两个空的记事本文档,输入以下内容: 无标题文档 这是XHTML的基本结构,将其命名为index.htm,另一个记事本文档则命名为css.css。 下面,我们在标签对中写入DIV的基本结构,代码如下:

[color=#aaaaaa][/color]
[color=#aaaaaa][/color]
[color=#aaaaaa][/color]
为了使以后阅读代码更简易,我们应该添加相关注释,接下来打开css.css文件,写入CSS 信息,代码如下: /*基本信息*/ body {font:12px Tahoma;margin:0px;text-align:center;background:#FFF;} /*页面层容器*/ #container {width:100%} /*页面头部*/ #Header {width:800px;margin:0 auto;height:100px;background:#FFCC99}

jQuery Mobile中文手册

jQuery Mobile开发入门手册——入门篇 作者:张勇辉更新日期2010-11-03 Blog:https://www.360docs.net/doc/1d5964347.html,

目录 jQuery Mobile开发入门手册——入门篇 (1) 概述 (3) 框架特性 (3) 版本约定 (3) 初始配置 (4) 页面声明 (4) 技术理论 (4) WebKit 和HTML5 (4) 移动Web 应用程序的考虑 (5) 一般站点的呈现 (5) 组件 (7) 页面 (7) 模态对话框 (8) 工具条 (9) 标题容器 (9) 页脚容器 (10) 导航 (11) 按钮 (11) 表单应用 (13) 列表应用 (14)

概述 此文档是基于jQuery Mobile框架的移动设备Web应用开发知识而编制,目的是为了方便开发人员快速的掌握此框架的开发应用,其中包含了框架的基础应用知识和在团队协作开发中的常规约定。 框架特性 JQuery Mobile以“Write Less, Do More”作为目标,为所有的主流移动操作系统平台提供了高度统一的UI框架:jQuery的移动框架可以让你为所有流行的移动平台设计一个高度定制和品牌化的Web应用程序,而不必为每个移动设备编写独特的应用程序或操作系统。 jQuery Mobile目前支持的移动平台有苹果公司的iOS(iPhone,ipad,iPod Touch),Android,Black Berry OS6.0,惠普WebOS,Mozilla的Fennec和Opera Mobile。今后,将增加包括Windows Mobile,Symbian和MeeGo在内的更多移动平台。 根据jQuery Mobile项目网站,目前jQuery Mobile的特性包括: ?jQuery核心——与jQuery桌面版一致的jQuery核心和语法,以及最小的学习曲线。?兼容所有主流的移动平台——iOS、Android、BlackBerry,Palm WebOS、Symbian、Windows Mobile、BaDa、MeeGo以及所有支持HTML的移动平台。 ?轻量级alpha版本的jQuery Mobile 其JavaScript 大小仅为12KB ,CSS 文件也只有6KB大小。 ?标记驱动的配置jQuery Mobile采用完全的标记驱动而不需要JavaScript的配置。 ?渐进增强jQuery Mobile采用完全的渐进增强原则:通过一个全功能的HTML网页,和额外的JavaScript功能层,提供顶级的在线体验。这意味着即使移动浏览器不支持JavaScript,基于jQuery Mobile的移动应用程序仍能正常的使用。 ?自动初始化通过使用mobilize()函数自动初始化页面上的所有jQuery部件。 ?无障碍包括WAI-ARIA在内的无障碍功能以确保页面能在类似于VoiceOver等语音辅助程序和其他辅助技术下正常使用。 ?简单的API 为用户提供鼠标、触摸和光标焦点简单的输入法支持。 ?强大的主题化框架jQuery Mobile提供强大的主题化框架和UI接口。 版本约定 为了避免由于版本不统一等引发的问题,在此次撰写中对框架的版本进行了如下约定:jQuery核心:V 1.50 Mobile核心:V 1.0 ALPHA 3

W3cSchool_DIV+CSS2_参考手册

CSS 参考手册 CSS背景属性 属性描述值 background 简写属性,作用是将背景属性设置在一个声明中。background-color background-image background-repeat background-attachment background-position background-attachment 设置是否背景图像是固定的或随页面其余部分滚动。scroll fixed background-color 设置元素的背景颜色。color-rgb color-hex color-name transparent background-image 将图像设置为背景。url none background-position 设置背景图像的起始位置。top left top center top right center left center center center right bottom left bottom center bottom right x-% y-% x-pos y-pos background-repeat 设置背景图像是否及如何重复。repeat repeat-x repeat-y no-repeat CSS 边框属性(border) 属性描述值 border 简写属性。作用是在一个声明中用来设置四个边框的所有属性。border-width border-style border-color border-bottom 简写属性。作用是在一个声明中用来设置底边框的所有属性。border-bottom-width border-style border-color border-bottom-color 设置底边框的颜色。border-color border-bottom-style 设置底边框的样式。border-style border-bottom-width 设置底边框的宽度。thin medium thick length border-color 设置四个边框的颜色,可以设置一到四个颜色。color

悦动使用手册说明书电子版

悦动使用手册说明书电 子版 Pleasure Group Office【T985AB-B866SYT-B182C-BS682T-STT18】

悦动使用手册(说明书)电子版1.驾驶席安全气囊……………3-25 2.灯光控制/转向信号………4-45 3.仪表盘………………………4-30 4.雨刮器/喷水器……………4-49 5.点火开关………………………5-4 6.方向盘………………………4-26 7.数字钟………………………4-77 8.危险警告灯开关……………4-44 9.空调控制系统*……………4-54 10.组合箱………………………4-74 11.变速杆…………………………5-9 12.点烟器………………………4-75 13.AUX………………………4-79 14.烟灰缸………………………4—75 15.助手席安全气囊……………3-25

17.手套箱………………………4-73 *:如有配备。 1.门锁闭锁/锁机械操纵……4-8 2.室外后视镜控制开关*……4-27 3.中央控制门锁操纵开关*……4-9 4.电动门窗锁止开关…………4-16 5.电动门窗开关*……………4-13 6.行李箱盖释放杆……………4-12 7.保险丝盒……………………7-44 8.后雾灯开关…………………4-48 9.语音警报系统开关*……4-41 10.方向盘倾斜杆………………4-26 11.发动机罩释放杆……………4-17 12.制动踏板…………………5-15 13.加速踏板………………………5-5

*:如有配备。

悦动自动档使用说明~ 自动档的使用说起来简单也不简单,说难也不难,很多朋友买了自动档就是为了一d到底,自动档确实简单,只要手握方向,眼观八方,工作的事全交给右脚,就能翻山越岭,跋山涉水,无所不去也。 但是我本人作为一个资深工薪族,准备把车保养的好点开个十年的人,还是对这个简单的东西进行了深入的研究,发现自动档的驾驶那是大有学问 。以正常驾驶为例,先说说自动档的分布,咱们悦动的自动波箱由上至下分别为 p-r-n-d-3(d往右边拨下就是)-2-l。 从起步开始说,众所周知,夏天不需要热车,冬天要热车,悦动车本身没水温表,手动档热车就比较简单了,有时间的原地等会,没时间的在起步的前两公里以慢速度< 30km的时候热下,也就可以了。但是自动档的比较麻烦,我有段时间在p档踩刹车点火,凭感觉热得差不多了,踩刹车挂到d档,结果一挂上就感觉整台车往前窜了下,吓了我一跳,后来去4s询问了下,才明白是热车不当所致,据说很伤变速箱。正确的做法是: 先在p档点火,接下来看转数表,刚开始发动时车子声音大很正常,是因为车子的发动机在提高转速热车,因为是电喷车,所以自动完成这工作。接下来,一般转速会在1500以上,我们就坐着等到指针降到1000左右的时候,就可以挂d档走人了,当然正常怠速的时候转速都在800,走一会儿就会自己降下来了。还有我偶尔遇到的情况,刚点火转速只上升到1100左右,这时候是不能走的,直接挂d档车子也还是会窜一下,这种情况就要等到转速降到800才能走。

CSS3 选择器

我们会定期对W3School 的CSS 参考手册进行浏览器测试。 CSS3 选择器 在CSS 中,选择器是一种模式,用于选择需要添加样式的元素。 "CSS" 列指示该属性是在哪个CSS 版本中定义的。(CSS1、CSS2 还是CSS3。) 选择器例子例子描述C S S .class.intro 选择class="intro" 的所有元素。 1 #id#firstname 选择id="firstname" 的所有元素。 1 ** 选择所有元素。 2 element p 选择所有 元素。 1 element,element div,p 选择所有

元素和所有 元素。 1 element element div p 选择
元素内部的所有 元素。 1 element>element div>p 选择父元素为
元素的所有 元素。 2 element+element div+p 选择紧接在
元素之后的所有 元素。 2 [attribute][target] 选择带有target 属性所有元素。 2 [attribute=value][target=_blank] 选择target="_blank" 的所有元素。 2 [attribute~=value][title~=flower] 选择title 属性包含单词"flower" 的所有元素。 2 [attribute|=value][lang|=en] 选择lang 属性值以"en" 开头的所有元素。 2 :link a:link 选择所有未被访问的链接。 1 :visited a:visited 选择所有已被访问的链接。 1 :active a:active 选择活动链接。 1 :hover a:hover 选择鼠标指针位于其上的链接。 1 :focus input:focus 选择获得焦点的input 元素。 2 :first-letter p:first-letter 选择每个 元素的首字母。 1 :first-line p:first-line 选择每个 元素的首行。 1 :first-child p:first-child 选择属于父元素的第一个子元素的每个 元素。 2 :before p:before 在每个 元素的内容之前插入内容。 2 :after p:after 在每个 元素的内容之后插入内容。 2

CSS常用文本属性

CSS常用文本属性 文本对齐属性(text-align) 这个属性用来设定文本的对齐方式。有以下值: ?left (居左,缺省值) ?right (居右) ?center (居中) ?justify (两端对齐) 示例代码如下: .p2 {text-align:right} 演示示例 文本修饰属性(text-decoration) 这个属性主要设定文本划线的属性。有以下值: ?none (无,缺省值) ?underline (下划线) ?overline (上划线) ?line-through (当中划线) 示例代码如下: .p2 {text-decoration: underline} 演示示例 文本缩进属性(text-indent) 这个属性设定文本首行缩进。其值有以下设定方法: ?length (长度,可以用绝对单位(cm, mm, in, pt, pc)或者相对单位(em, ex, px)) ?percentage (百分比,相当于父对象宽度的百分比) 示例代码如下: .p1 {text-indent: 8mm} 演示示例 行高属性(line-height) 这个属性设定每行之间的距离。其值有以下设定方法: ?normal (缺省值) ?length (长度,可以用绝对单位(cm, mm, in, pt,pc)或者相对单位(em, ex, px)) ?percentage (百分比,相当于父对象高度的百分比) 示例代码如下: .p1 {line-height:1cm} 演示示例 字间距属性(letter-spacing) 这个属性用来设定字符之间的距离。 ?normal (缺省值) ?length (长度,可以用绝对单位(cm, mm, in, pt, pc)或者相对单位(em, ex, px)) 示例代码如下: .p1 {letter-spacing: 3mm}

DivCSS布局入门教程相当经典

在网页制作中,有许多的术语,例如:CSS、HTML、DHTML、XHTML等等。在下面的文章中我们将会用到一些有关于HTML的基本知识,而在你学习这篇入门教程之前,请确定你已经具有了一定的HTML基础。下面我们就开始一步一步使用DIV+CSS进行网页布局设计吧。 所有的设计第一步就是构思,构思好了,一般来说还需要用PhotoShop或FireWorks(以下简称PS或FW)等图片处理软件将需要制作的界面布局简单的构画出来,以下是我构思好的界面布局图。 下面,我们需要根据构思图来规划一下页面的布局,仔细分析一下该图,我们不难发现,图片大致分为以下几个部分: 1、顶部部分,其中又包括了LOGO、MENU和一幅Banner图片; 2、内容部分又可分为侧边栏、主体内容; 3、底部,包括一些版权信息。 有了以上的分析,我们就可以很容易的布局了,我们设计层如下图: 根据上图,我再画了一个实际的页面布局图,说明一下层的嵌套关系,这样理解起来就会更简单了。 DIV结构如下: │body {}/*这是一个HTML元素,具体我就不说明了*/ └#Container {}/*页面层容器*/ ├#H eader {} /*页面头部*/ ├#PageBody {}/*页面主体*/ │├#Sidebar {}/*侧边栏*/ │└#MainBody {}/*主体内容*/ └#Footer {}/*页面底部*/ 至此,页面布局与规划已经完成,接下来我们要做的就是开始书写HTML代码和CSS。 接下来我们在桌面新建一个文件夹,命名为“DIV+CSS布局练习”,在文件夹下新建两个空的记事本文档,输入以下内容:

nodejs压缩js css配置文档

Windows 7 64位系统下Node.js安装及使用 1、node.js下载地址:https://www.360docs.net/doc/1d5964347.html,/download/ 根据自己电脑配置下载: 2、开始安装nodejs,默认是安装在C:\Program Files\nodejs下面 3、在你任意磁盘里面自己另外新建一个文件夹,我的node.js是安装在在D盘, 所以我在D盘自己新建文件夹,名为compress 需要自行把要压缩的css、js文件拷贝到此文件夹下。 也可以在你项目里要压缩的css或js文件夹同一目录下,按下面步骤执行(不建议) 3、安装CLI Grunt 的安装与管理都是通过 npm,npm 是 Node.js 的包管理器。 打开C:\Program Files\nodejs目录你会发现里面自带了npm,直接用 npm安装相环境既可

在全局环境中安装Grunt的命令行接口 在 cmd 中进入自己新建文件夹,输入npm install -g grunt-cli命令 如: 安装grunt-cli 并不等于安装了Grunt 任务运行器!Grunt CLI的任务是 运行gruntfil指定的Grunt版本。这样就可以在一台电脑上同时安装多 个版本的Grunt。 等待命令运行,不要关闭,如下图: 4、新建Grunt项目(在你新建的文件夹下创建下面两个文件) 标准配置包括两个文件: package.json :用于保存项目元数据 Gruntfile : ,用于配置或定义任务、 加载Grunt插件。

package.json 存放于项目根目录。运行 npm install 会安装指示版本的依赖库 基于压缩js、css样式 下面配置即可: 5、运行 npm install 会根据package.jsom配置安装指示版本的依赖库 等待命令运行完,在你新建文件夹里会出现一个这样的文件: 此文件夹是nodejs相关组件的自动安装路径

CSS和DOM属性用法速查手册

CSS和DOM属性用法速查手册 CSS属性用法速查手册 -------------------------------------------------------------------------------- !important增加特定规则的重要性。 :active设置当链接处于激活状态时a元素的样式。 :first-letter在对象的第一个字符上应用一个或多个样式。 :first-line在对象的第一行上应用一个或多个样式。 :hover设置当用户将鼠标指针悬停在链接上时a元素的样式。 :link设置当链接最近没有访问过时a元素的样式。 :visited设置当链接最近访问过时a元素的样式。 @charset设置外部样式表的字符集。 @font-face设置要嵌入HTML文档的字体。 @import导入一个外部样式表。 @media设置styleSheet对象中一组规则的媒体类型。 @page设置styleSheet中页面框的尺寸、方向和边距。 abbr设置或获取对象的缩写文本。 accelerator设置或获取表明对象是否包含快捷键的字符串。 accept设置或获取以逗号分隔的内容类型列表。 acceptCharset设置或获取处理表单的服务器必须接受的输入数据所用的字符编码方式列表。 accessKey设置或获取对象的快捷键。 action设置或获取表单内容要发送处理的URL。 activeElement获取当父document拥有焦点时获得焦点的对象。 additive设置或获取表明动画是否附加到其它动画的值。 align设置或获取对象针对其邻接文本如何排列。 align设置或获取标题或标志的排列。 align设置或获取表格排列。 align设置或获取对象相对于显示或表格的排列方式。 aLink设置或获取元素中所有激活链接的颜色。 alinkColor设置或获取元素中所有激活链接的颜色。 allowTransparency设置或获取对象是否可为透明。 alt设置或获取用于替代图像的文本。 altHTML设置可选的若对象装载失败时要执行的替换HTML脚本。 altKey设置或获取Alt键的状态。 altLeft设置或获取左Alt键的状态。 appCodeName获取浏览器的代码名称。 APPLICATION表明对象的内容是否为HTML应用程序(HTA),从而免除浏览器的安全模型。 appMinorVersion获取应用程序的次版本值。 appName获取浏览器的名称。 appVersion获取浏览器运行的平台和版本。

CSS14甲板集装箱安全系固作业指南

附则14 Annex 14 甲板集装箱安全系固作业指南 Guidance on providing safe working conditions for securing of containers on deck 1. 目的AIM 保证参与甲板集装箱系固操作的人员具有安全工作环境,特别是安全通道,正确的系固设备以及安全工作区域。本附则应在系固系统的设计阶段进行考虑。本附则为船东、船厂、船级社、主管机关以及设计者制定及审批货物安全通道布置(CSAP)提供指导。 To ensure that persons engaged in carrying out container securing operations on deck have safe working conditions and, in particular safe access, appropriate securing equipment and safe places of work. These guidelines should be taken into account at the design stage when securing systems are devised. These guidelines provide shipowners, ship builders, classification societies, Administrations and ship designers with guidance on producing or authorizing a Cargo Safe Access Plan (CSAP)。 1. 适用范围SCOPE 2.1 本附则中船舶指专用的集装箱船以及特殊设计并布置为在甲板上装载集装箱的其 他船舶。 Ships which are specifically designed and fitted for the purpose of carrying containers on deck. 1.2 对于在2015年1月1日及以后安放龙骨或处于类似建造阶段的船舶,本附则全文适 用。 Apply the annexed amendments in its entirety for containerships, the keels of which were laid or which are at a similar stage of construction on or after 1 January 2015; 2.3 对于在2015年1月1日及以前安放龙骨或处于类似建造阶段的船舶,仅4.4(培训及 熟悉)、7.1(一般说明)、7.3(维护)以及8(特殊集装箱安全设计)适用。 Apply sections 4.4 (Training and familiarization), 7.1 (Introduction), 7.3 Maintenance) and section 8 (Specialized container safety design) to existing containerships*, the keels of which were laid or which are at a similar stage of construction before 1 January 2015; and 2.4 对于在2015年1月1日及以前安放龙骨或处于类似建造阶段的船舶,本附则6(设 计)以及7.2(操作程序)应由船旗国主管机关确定,在不需要进行较大船体结构修改的基础上,尽可能适用。 Apply the principles of this guidance contained in sections 6 (Design) and 7.2 (Operational procedures) to existing containerships* as far as practical by the flag State Administration with the understanding that existing ships would not be required to be enlarged or undergo other major structural modifications as determined. 2. 定义DEFINITIONS

CSS样式表-手实用手册与讲解

伺服網路科技股份有限公司 (02)2711-7555
建立日期:2006/10 修改日期:2006/10 版 本:1.0
自定义页面样式 1 使用说明: 1 页面结构 2 头部说明 4 主体定制 8 主体背景(跨三栏)设置 左边栏背景设置 8 中间栏背景设置 8 右边栏背景设置 9 底部定制 10 底部背景修改 10 底部文字修改 10 模块定制 11 模块标题修改 11 模块边框修改 12 模块背景修改 12 普通文字修改 12 链接文字修改 13 学校名称修改 13 模块标题文字修改 13 明细页标题文字修改 14 信息陈列标题文字修改 14 简单说明文字修改 分类列表文字修改 页首连接文字修改 小技巧 17 CSS 标签定义对照表 样式结构图 21 Pictures 图文件范例说明 小图示 24 论坛图档 25 完成制作 26 14 15 16 18 24
8

自定义页面样式
使用说明:
本软件的页面样式设计采用了大量的CSS定义, 因此, 本手册仅限于熟悉CSS编写规则的专业 网页设计制作人员使用。 当从往站后台下载自定义页面样式文件后,解压缩您可以看到如下所示一些档案:
?
如图所示,在 Example 目录下,有两个文件夹(catalog、style)和一个档案(index.html) 。 catalog 文件夹内存放网页范例内容,供您预览使用,请不要随意更改; style 文件夹包含两个档案(style.css、font.css)以及两个文件夹(images、pictures) , 更改这些档案将从新设定当前页面样式的显示效果:
o o o
style.css font.css images
主样式表单,包含绝大部分的样式定义; 字型样式表单,简要定义了一些字型与字号大小; 存放样式表单中引用到的图档的文件夹,在样式表单里引用到的所有背景
图都存放在此;
o ?
pictures
是存放样式表单中没有引用、但在页面中引用的图档。
双击"index.html",开启网页制作范本页面、预览当前所有页面的显示效果; 同样,您对 css 样式的任意修改都可以通过刷新该范例页面来预览。
1

用户使用手册

汉科应用性能监控系统(BCSS)用户使用手册

第 2 页 共 32 页 汉科计算机信息技术有限公司 成都市天府大道南延线高新孵化园8号楼2021 目 录 1. 系统简介 ............................................................... 3 2. 安装说明 ............................................................... 7 2.1. 安装之前 ................................................................................................................... 7 2.1.1. 检查软件包的内容 ........................................................................................... 7 2.1.2. 系统支持说明 ................................................................................................... 7 2.1.3. 设计安装部署方案 ........................................................................................... 8 2.2. 安装系统控制台(System Console ) . (8) 2.2.1. ORACLE 的配置 .................................................................................................. 8 2.2.2. Weblogic server 的配置 ................................................................................ 9 2.3安装性能收集服务器(Collect server ) .................................................................. 10 2.4安装客户端代理(Client agent ) .............................................................................. 12 3. 使用说明 .............................................................. 14 3.1. WEB 端操作说明 ...................................................................................................... 14 3.1.1 系统功能概述 ................................................................................................. 14 3.1.2 页面操作说明 ................................................................................................. 15 3.2. 性能收集服务器使用说明 . (28) 3.2.1 配置文件说明 ................................................................................................. 28 3.2.2 性能收集器操作说明 ..................................................................................... 29 3.3. 性能收集客户端使用说明 . (30) 3.3.1 配置文件说明 ................................................................................................. 30 3.3.2 客户端操作说明 ............................................................................................. 30 4. 常见问题 .............................................................. 31 5. 技术支持 (32)

svg参考手册

SVG 元素 元素列中的链接指向了具体元素的相关属性和更多有用的信息。 元素描述 a 定义超链接 altGlyph 允许对象性文字进行控制,来呈现特殊的字符数据(例如,音乐符号或亚洲的文字) altGlyphDef 定义一系列象性符号的替换(例如,音乐符号或者亚洲文字)altGlyphItem 定义一系列候选的象性符号的替换 animate 随时间动态改变属性 animateColor 规定随时间进行的颜色转换 animateMotion 使元素沿着动作路径移动 animateTransform 对元素进行动态的属性转换 circle 定义圆 clipPath color-profile 规定颜色配置描述 cursor 定义独立于平台的光标 definition-src 定义单独的字体定义源 defs 被引用元素的容器 desc 对SVG 中的元素的纯文本描述- 并不作为图形的一部分来显示。用户代理会将其显示为工具提示。 ellipse 定义椭圆 feBlend SVG 滤镜。使用不同的混合模式把两个对象合成在一起。feColorMatrix SVG 滤镜。应用matrix转换。 feComponentTransfer SVG 滤镜。执行数据的component-wise 重映射。feComposite SVG 滤镜。 feConvolveMatrix SVG 滤镜。 feDiffuseLighting SVG 滤镜。 feDisplacementMap SVG 滤镜。 feDistantLight SVG 滤镜。Defines a light source feFlood SVG 滤镜。 feFuncA SVG 滤镜。feComponentTransfer 的子元素。 feFuncB SVG 滤镜。feComponentTransfer 的子元素。 feFuncG SVG 滤镜。feComponentTransfer 的子元素。 feFuncR SVG 滤镜。feComponentTransfer 的子元素。feGaussianBlur SVG 滤镜。对图像执行高斯模糊。 feImage SVG 滤镜。

css参考手册(完美整理版)

CSS 背景属性(Background) 属性描述CSS background在一个声明中设置所有的背景属性。 1 background-attachment设置背景图像是否固定或者随着页面的其余部分滚动。 1 background-color设置元素的背景颜色。 1 background-image设置元素的背景图像。 1 background-position设置背景图像的开始位置。 1 background-repeat设置是否及如何重复背景图像。 1 CSS 边框属性(Border 和Outline) 属性描述CSS border在一个声明中设置所有的边框属性。 1 border-bottom在一个声明中设置所有的下边框属性。 1 border-bottom-color设置下边框的颜色。 2 border-bottom-style设置下边框的样式。 2 border-bottom-width设置下边框的宽度。 1 border-color设置四条边框的颜色。 1 border-left在一个声明中设置所有的左边框属性。 1 border-left-color设置左边框的颜色。 2 border-left-style设置左边框的样式。 2 border-left-width设置左边框的宽度。 1 border-right在一个声明中设置所有的右边框属性。 1 border-right-color设置右边框的颜色。 2 border-right-style设置右边框的样式。 2 border-right-width设置右边框的宽度。 1 border-style设置四条边框的样式。 1 border-top在一个声明中设置所有的上边框属性。 1 border-top-color设置上边框的颜色。 2 border-top-style设置上边框的样式。 2 border-top-width设置上边框的宽度。 1 border-width设置四条边框的宽度。 1 outline在一个声明中设置所有的轮廓属性。 2 outline-color设置轮廓的颜色。 2 outline-style设置轮廓的样式。 2 outline-width设置轮廓的宽度。 2 CSS 文本属性(Text) 属性描述CSS color设置文本的颜色。 1 direction规定文本的方向/ 书写方向。 2 letter-spacing设置字符间距。 1 line-height设置行高。 1 text-align规定文本的水平对齐方式。 1

研发指导手册

****研发指导手册 内部专用 第 一 版 2016年12月15日***编

目录 编写说明 (3) 技术指导 (4) 研发流程 (5) 开发规范 (7) 小结 (10)

编写说明 此指导手册为内部制定并使用的研发部日常工作指导手册。为规范以后的研发工作,制定研发部内部行为准则和工作规范。确定研发工作流程,制定技术指标。为以后的研发工作规范行为,减少不必要的工作。此指导手册为参考手册研发部员工应严格遵守,执行。后期根据实际情况及时进行修改或重编。

技术指导 当前研发以windows平台为主,采用java语言开发。以关系型数据库为主,采用sql数据库操作语言。编程开发工具为IDEA,数据库根据客户实际需求。如客户没有具体要求以oracle 为主,mysql为辅。研发框架以现有框架为主,期间根据实际需求进行修改。项目通过git 管理工具进行统一管理。数据库采用建模工具进行建模,模型生成数据库脚本,创建数据库。数据库一律不允许手动创建。页面设计目前没有专门的前台设计,由编程人员自行复杂,制作。代码测试由研发人员自行处理,研发完成后测试人员进行统一功能测试,测试结果出具文档说明,及时修改。研发完成后实施人员像出具实施方案,根据客户意见进行实施。实施后进行业务测试和安全测试,安全测试如有必要请第三方进行测试和修补。系统漏洞早发现,早处理,严格遵守指导要求,避免不必要错误。研发过程中所有流程均做文档保留记录。所有人员定时通过邮件汇报工作进度。

研发流程 研发团队应严格遵循以下研发流程,保证研发进度。 一.前期调研 当确定研发任务后需要进行前期调研,安排人员到客户现场收集客户意见,对系统应用场景进行现场考察,确定用户需求和研发工作。 二.系统功能设计 根据调研结果确定系统模块,根据系统应用场景制定业务流程。功能设计应满足高内聚低耦合的标准。 三.数据库设计 使用建模工具进行建模,建模后根据模型生成数据库。原则上不允许手动创建数据库表。数据库设计要遵循以下几个原则 1.弄清楚将要开发的应用程序是什么性质的(OLTP 还是OPAP) 2.将数据按照逻辑意义分成不同的块 3.不要过度使用“规则2” 4.把重复、不统一的数据当成你最大的敌人来对待 5.当心被分隔符分割的数据,它们违反了“字段不可再分” 6.规则6:当心那些仅仅部分依赖主键的列 7.仔细地选择派生列 8.如果性能是关键,不要固执地去避免冗余 9.多维数据是各种不同数据的聚合 10.将那些具有“名值表”特点的表统一起来设计 11.无限分级结构的数据,引用自己的主键作为外键 四.系统开发 开发阶段人员每天填写日志,发送邮件汇报工作进度。每星期制定工作计划。每人负责不同模块,不允许工作交叉。如果遇到问题及时沟通解决问题,原则上当天任务遇到问题在1小时内无法解决就向其他人寻求帮助。 五.系统测试 开发阶段为自测阶段,由开发人员自行测试。保证在交由测试人员前系统能够正常运行,基本模块完整,功能运行无错误,后台没有错误提示。测试人员进行功能测试对系统功能和业务流程进行测试。测试开始前指定测试文档,根据文档进行测试,测试完成后出具测试报告。开发人员根据测试报告对系统进行修改。此测试要保证快速准确,系统实施前测试人员至少进行2次全面测试,并出具测试报告。 六.项目部署 实施人员在实施前和客户联系并制定实施报告,保证到现场前设备准备完毕,到达现场后可以直接部署。部署后需要进行漏洞检测,对服务器和系统安全进行测试。根据测试报告打补丁,修复漏洞。原则上在测试阶段对系统的漏洞检测和修复就要完成。

相关主题