Unity3d初级编程

  • 官方链接
  • 1.作为行为组件的脚本
  • 2.变量和函数
  • 3.约定和语法
  • 4.IF 语句
  • 5.循环
  • 6.作用域和访问修饰符
  • 7.Awake 和 Start
  • 8.Update 和 FixedUpdate
  • 9.矢量数学
  • 10.启用和禁用组件
  • 11.激活游戏对象
  • 12.Translate 和 Rotate
  • 13.Look At
  • 14.线性插值
  • 15.Destroy
  • 16.GetButton 和 GetKey
  • 17.GetAxis
  • 18.OnMouseDown
  • 19.GetComponent
  • 20.DeltaTime
  • 21.数据类型
  • 22.类
  • 23.Instantiate
  • 24.数组
  • 25.Invoke
  • 26.枚举
  • 27.Switch 语句

官方链接

官方链接: https://learn.unity.com/project/chu-ji-bian-cheng?uv=4.x

话不多说,直接贴代码。

1.作为行为组件的脚本

Unity 中的脚本是什么?了解作为 Unity 脚本的行为组件,以及如何创建这些脚本并将它们附加到对象。

using UnityEngine;
using System.Collections;public class ExampleBehaviourScript : MonoBehaviour
{void Update(){if (Input.GetKeyDown(KeyCode.R)){GetComponent<Renderer> ().material.color = Color.red;}if (Input.GetKeyDown(KeyCode.G)){GetComponent<Renderer>().material.color = Color.green;}if (Input.GetKeyDown(KeyCode.B)){GetComponent<Renderer>().material.color = Color.blue;}}
}

2.变量和函数

什么是变量和函数?它们如何为我们存储和处理信息?

using UnityEngine;
using System.Collections;public class VariablesAndFunctions : MonoBehaviour
{   int myInt = 5;void Start (){myInt = MultiplyByTwo(myInt);Debug.Log (myInt);}int MultiplyByTwo (int number){int ret;ret = number * 2;return ret;}
}

3.约定和语法

了解编写代码的一些基本约定和语法:点运算符、分号、缩进和注释。

using UnityEngine;
using System.Collections;public class BasicSyntax : MonoBehaviour
{void Start (){Debug.Log(transform.position.x);if(transform.position.y <= 5f){Debug.Log ("I'm about to hit the ground!");}}
}

4.IF 语句

如何使用 IF 语句在代码中设置条件。

using UnityEngine;
using System.Collections;public class IfStatements : MonoBehaviour
{float coffeeTemperature = 85.0f;float hotLimitTemperature = 70.0f;float coldLimitTemperature = 40.0f;void Update (){if(Input.GetKeyDown(KeyCode.Space))TemperatureTest();coffeeTemperature -= Time.deltaTime * 5f;}void TemperatureTest (){// 如果咖啡的温度高于最热的饮用温度...if(coffeeTemperature > hotLimitTemperature){// ... 执行此操作。print("Coffee is too hot.");}// 如果不是,但咖啡的温度低于最冷的饮用温度...else if(coffeeTemperature < coldLimitTemperature){// ... 执行此操作。print("Coffee is too cold.");}// 如果两者都不是,则...else{// ... 执行此操作。print("Coffee is just right.");}}
}

5.循环

如何使用 For、While、Do-While 和 For Each 循环在代码中重复操作。

ForLoop

using UnityEngine;
using System.Collections;public class ForLoop : MonoBehaviour
{int numEnemies = 3;void Start (){for(int i = 0; i < numEnemies; i++){Debug.Log("Creating enemy number: " + i);}}
}

WhileLoop

using UnityEngine;
using System.Collections;public class WhileLoop : MonoBehaviour
{int cupsInTheSink = 4;void Start (){while(cupsInTheSink > 0){Debug.Log ("I've washed a cup!");cupsInTheSink--;}}
}

DoWhileLoop

using UnityEngine;
using System.Collections;public class DoWhileLoop : MonoBehaviour
{void Start(){bool shouldContinue = false;do{print ("Hello World");}while(shouldContinue == true);}
}

ForeachLoop

using UnityEngine;
using System.Collections;public class ForeachLoop : MonoBehaviour
{   void Start () {string[] strings = new string[3];strings[0] = "First string";strings[1] = "Second string";strings[2] = "Third string";foreach(string item in strings){print (item);}}
}

6.作用域和访问修饰符

了解变量和函数的作用域和可访问性。

ScopeAndAccessModifiers

using UnityEngine;
using System.Collections;public class ScopeAndAccessModifiers : MonoBehaviour
{public int alpha = 5;private int beta = 0;private int gamma = 5;private AnotherClass myOtherClass;void Start (){alpha = 29;myOtherClass = new AnotherClass();myOtherClass.FruitMachine(alpha, myOtherClass.apples);}void Example (int pens, int crayons){int answer;answer = pens * crayons * alpha;Debug.Log(answer);}void Update (){Debug.Log("Alpha is set to: " + alpha);}
}

AnotherClass

using UnityEngine;
using System.Collections;public class AnotherClass
{public int apples;public int bananas;private int stapler;private int sellotape;public void FruitMachine (int a, int b){int answer;answer = a + b;Debug.Log("Fruit total: " + answer);}private void OfficeSort (int a, int b){int answer;answer = a + b;Debug.Log("Office Supplies total: " + answer);}
}

7.Awake 和 Start

如何使用 Unity 的两个初始化函数 Awake 和 Start。

using UnityEngine;
using System.Collections;public class AwakeAndStart : MonoBehaviour
{void Awake (){Debug.Log("Awake called.");}void Start (){Debug.Log("Start called.");}
}

8.Update 和 FixedUpdate

如何使用 Update 和 FixedUpdate 函数实现每帧的更改,以及它们之间的区别。

using UnityEngine;
using System.Collections;public class UpdateAndFixedUpdate : MonoBehaviour
{void FixedUpdate (){Debug.Log("FixedUpdate time :" + Time.deltaTime);}void Update (){Debug.Log("Update time :" + Time.deltaTime);}
}

9.矢量数学

矢量数学入门以及有关点积和叉积的信息。

// 无代码

10.启用和禁用组件

如何在运行时通过脚本启用和禁用组件。

using UnityEngine;
using System.Collections;public class EnableComponents : MonoBehaviour
{private Light myLight;void Start (){myLight = GetComponent<Light>();}void Update (){if(Input.GetKeyUp(KeyCode.Space)){myLight.enabled = !myLight.enabled;}}
}

11.激活游戏对象

如何使用 SetActive 和 activeSelf/activeInHierarchy 单独处理以及在层级视图中处理场景内部游戏对象的活动状态。

ActiveObjects

using UnityEngine;
using System.Collections;public class ActiveObjects : MonoBehaviour
{void Start (){gameObject.SetActive(false);}
}

CheckState

using UnityEngine;
using System.Collections;public class CheckState : MonoBehaviour
{public GameObject myObject;void Start (){Debug.Log("Active Self: " + myObject.activeSelf);Debug.Log("Active in Hierarchy" + myObject.activeInHierarchy);}
}

12.Translate 和 Rotate

如何使用两个变换函数 Translate 和 Rotate 来更改非刚体对象的位置和旋转。

using UnityEngine;
using System.Collections;public class TransformFunctions : MonoBehaviour
{public float moveSpeed = 10f;public float turnSpeed = 50f;void Update (){if(Input.GetKey(KeyCode.UpArrow))transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime);if(Input.GetKey(KeyCode.DownArrow))transform.Translate(-Vector3.forward * moveSpeed * Time.deltaTime);if(Input.GetKey(KeyCode.LeftArrow))transform.Rotate(Vector3.up, -turnSpeed * Time.deltaTime);if(Input.GetKey(KeyCode.RightArrow))transform.Rotate(Vector3.up, turnSpeed * Time.deltaTime);}
}

13.Look At

如何使用 LookAt 函数使一个游戏对象的变换组件面向另一个游戏对象的变换组件。

using UnityEngine;
using System.Collections;public class CameraLookAt : MonoBehaviour
{public Transform target;void Update (){transform.LookAt(target);}
}

14.线性插值

在制作游戏时,有时可以在两个值之间进行线性插值。这是通过 Lerp 函数来完成的。

// 在此示例中,result = 4
float result = Mathf.Lerp (3f, 5f, 0.5f);Vector3 from = new Vector3 (1f, 2f, 3f);
Vector3 to = new Vector3 (5f, 6f, 7f);// 此处 result = (4, 5, 6)
Vector3 result = Vector3.Lerp (from, to, 0.75f);void Update ()
{light.intensity = Mathf.Lerp(light.intensity, 8f, 0.5f * Time.deltaTime);
}

15.Destroy

如何在运行时使用 Destroy() 函数删除游戏对象和组件。

DestroyBasic

using UnityEngine;
using System.Collections;public class DestroyBasic : MonoBehaviour
{void Update (){if(Input.GetKey(KeyCode.Space)){Destroy(gameObject);}}
}

DestroyOther

using UnityEngine;
using System.Collections;public class DestroyOther : MonoBehaviour
{public GameObject other;void Update (){if(Input.GetKey(KeyCode.Space)){Destroy(other);}}
}

DestroyComponent

using UnityEngine;
using System.Collections;public class DestroyComponent : MonoBehaviour
{void Update (){if(Input.GetKey(KeyCode.Space)){Destroy(GetComponent<MeshRenderer>());}}
}

16.GetButton 和 GetKey

本教程演示如何在 Unity 项目中获取用于输入的按钮或键,以及这些轴的行为或如何通过 Unity Input Manager 进行修改。

KeyInput

using UnityEngine;
using System.Collections;public class KeyInput : MonoBehaviour
{public GUITexture graphic;public Texture2D standard;public Texture2D downgfx;public Texture2D upgfx;public Texture2D heldgfx;void Start(){graphic.texture = standard;}void Update (){bool down = Input.GetKeyDown(KeyCode.Space);bool held = Input.GetKey(KeyCode.Space);bool up = Input.GetKeyUp(KeyCode.Space);if(down){graphic.texture = downgfx;}else if(held){graphic.texture = heldgfx;}else if(up){graphic.texture = upgfx;}else{graphic.texture = standard; }guiText.text = " " + down + "\n " + held + "\n " + up;}
}

ButtonInput

using UnityEngine;
using System.Collections;public class ButtonInput : MonoBehaviour
{public GUITexture graphic;public Texture2D standard;public Texture2D downgfx;public Texture2D upgfx;public Texture2D heldgfx;void Start(){graphic.texture = standard;}void Update (){bool down = Input.GetButtonDown("Jump");bool held = Input.GetButton("Jump");bool up = Input.GetButtonUp("Jump");if(down){graphic.texture = downgfx;}else if(held){graphic.texture = heldgfx;}else if(up){graphic.texture = upgfx;}else{graphic.texture = standard;}guiText.text = " " + down + "\n " + held + "\n " + up;}
}

17.GetAxis

如何在 Unity 中为游戏获取基于轴的输入,以及如何通过 Input Manager 修改这些轴。

AxisExample

using UnityEngine;
using System.Collections;public class AxisExample : MonoBehaviour
{public float range;public GUIText textOutput;void Update () {float h = Input.GetAxis("Horizontal");float xPos = h * range;transform.position = new Vector3(xPos, 2f, 0);textOutput.text = "Value Returned: "+h.ToString("F2");  }
}

AxisRawExample

using UnityEngine;
using System.Collections;public class AxisRawExample : MonoBehaviour
{public float range;public GUIText textOutput;void Update () {float h = Input.GetAxisRaw("Horizontal");float xPos = h * range;transform.position = new Vector3(xPos, 2f, 0);textOutput.text = "Value Returned: "+h.ToString("F2");  }
}

DualAxisExample

using UnityEngine;
using System.Collections;public class DualAxisExample : MonoBehaviour
{public float range;public GUIText textOutput;void Update () {float h = Input.GetAxis("Horizontal");float v = Input.GetAxis("Vertical");float xPos = h * range;float yPos = v * range;transform.position = new Vector3(xPos, yPos, 0);textOutput.text = "Horizontal Value Returned: "+h.ToString("F2")+"\nVertical Value Returned: "+v.ToString("F2");    }
}

18.OnMouseDown

如何检测碰撞体或 GUI 元素上的鼠标点击。

using UnityEngine;
using System.Collections;public class MouseClick : MonoBehaviour
{void OnMouseDown (){rigidbody.AddForce(-transform.forward * 500f);rigidbody.useGravity = true;}
}

19.GetComponent

如何使用 GetComponent 函数来处理其他脚本或组件的属性。

UsingOtherComponents

using UnityEngine;
using System.Collections;public class UsingOtherComponents : MonoBehaviour
{public GameObject otherGameObject;private AnotherScript anotherScript;private YetAnotherScript yetAnotherScript;private BoxCollider boxCol;void Awake (){anotherScript = GetComponent<AnotherScript>();yetAnotherScript = otherGameObject.GetComponent<YetAnotherScript>();boxCol = otherGameObject.GetComponent<BoxCollider>();}void Start (){boxCol.size = new Vector3(3,3,3);Debug.Log("The player's score is " + anotherScript.playerScore);Debug.Log("The player has died " + yetAnotherScript.numberOfPlayerDeaths + " times");}
}

AnotherScript

using UnityEngine;
using System.Collections;public class AnotherScript : MonoBehaviour
{public int playerScore = 9001;
}

YetAnotherScript

using UnityEngine;
using System.Collections;public class YetAnotherScript : MonoBehaviour
{public int numberOfPlayerDeaths = 3;
}

20.DeltaTime

什么是 Delta Time?如何在游戏中将其用于对值进行平滑和解释?

using UnityEngine;
using System.Collections;public class UsingDeltaTime : MonoBehaviour
{public float speed = 8f; public float countdown = 3.0f;void Update (){countdown -= Time.deltaTime;if(countdown <= 0.0f)light.enabled = true;if(Input.GetKey(KeyCode.RightArrow))transform.position += new Vector3(speed * Time.deltaTime, 0.0f, 0.0f);}
}

21.数据类型

了解“值”和“引用”数据类型之间的重要区别,以便更好地了解变量的工作方式。

using UnityEngine;
using System.Collections;public class DatatypeScript : MonoBehaviour
{void Start () {//值类型变量Vector3 pos = transform.position;pos = new Vector3(0, 2, 0);//引用类型变量Transform tran = transform;tran.position = new Vector3(0, 2, 0);}
}

22.类

如何使用类来存储和组织信息,以及如何创建构造函数以便处理类的各个部分。

SingleCharacterScript

using UnityEngine;
using System.Collections;public class SingleCharacterScript : MonoBehaviour
{public class Stuff{public int bullets;public int grenades;public int rockets;public Stuff(int bul, int gre, int roc){bullets = bul;grenades = gre;rockets = roc;}}public Stuff myStuff = new Stuff(10, 7, 25);public float speed;public float turnSpeed;public Rigidbody bulletPrefab;public Transform firePosition;public float bulletSpeed;void Update (){Movement();Shoot();}void Movement (){float forwardMovement = Input.GetAxis("Vertical") * speed * Time.deltaTime;float turnMovement = Input.GetAxis("Horizontal") * turnSpeed * Time.deltaTime;transform.Translate(Vector3.forward * forwardMovement);transform.Rotate(Vector3.up * turnMovement);}void Shoot (){if(Input.GetButtonDown("Fire1") && myStuff.bullets > 0){Rigidbody bulletInstance = Instantiate(bulletPrefab, firePosition.position,                                                                    firePosition.rotation) as Rigidbody;bulletInstance.AddForce(firePosition.forward * bulletSpeed);myStuff.bullets--;}}
}

Inventory

using UnityEngine;
using System.Collections;public class Inventory : MonoBehaviour
{public class Stuff{public int bullets;public int grenades;public int rockets;public float fuel;public Stuff(int bul, int gre, int roc){bullets = bul;grenades = gre;rockets = roc;}public Stuff(int bul, float fu){bullets = bul;fuel = fu;}// 构造函数public Stuff (){bullets = 1;grenades = 1;rockets = 1;}}// 创建 Stuff 类的实例(对象)public Stuff myStuff = new Stuff(50, 5, 5);public Stuff myOtherStuff = new Stuff(50, 1.5f);void Start(){Debug.Log(myStuff.bullets); }
}

MovementControls

using UnityEngine;
using System.Collections;public class MovementControls : MonoBehaviour
{public float speed;public float turnSpeed;void Update (){Movement();}void Movement (){float forwardMovement = Input.GetAxis("Vertical") * speed * Time.deltaTime;float turnMovement = Input.GetAxis("Horizontal") * turnSpeed * Time.deltaTime;transform.Translate(Vector3.forward * forwardMovement);transform.Rotate(Vector3.up * turnMovement);}
}

Shooting

using UnityEngine;
using System.Collections;public class Shooting : MonoBehaviour
{public Rigidbody bulletPrefab;public Transform firePosition;public float bulletSpeed;private Inventory inventory;void Awake (){inventory = GetComponent<Inventory>();}void Update (){Shoot();}void Shoot (){if(Input.GetButtonDown("Fire1") && inventory.myStuff.bullets > 0){Rigidbody bulletInstance = Instantiate(bulletPrefab, firePosition.position,                                                                    firePosition.rotation) as Rigidbody;bulletInstance.AddForce(firePosition.forward * bulletSpeed);inventory.myStuff.bullets--;}}
}

23.Instantiate

如何在运行期间使用 Instantiate 创建预制件的克隆体。

UsingInstantiate

using UnityEngine;
using System.Collections;public class UsingInstantiate : MonoBehaviour
{public Rigidbody rocketPrefab;public Transform barrelEnd;void Update (){if(Input.GetButtonDown("Fire1")){Rigidbody rocketInstance;rocketInstance = Instantiate(rocketPrefab, barrelEnd.position, barrelEnd.rotation) as Rigidbody;rocketInstance.AddForce(barrelEnd.forward * 5000);}}
}

RocketDestruction

using UnityEngine;
using System.Collections;public class RocketDestruction : MonoBehaviour
{void Start(){Destroy (gameObject, 1.5f);}
}

24.数组

使用数组将变量集合在一起以便于管理。

using UnityEngine;
using System.Collections;public class Arrays : MonoBehaviour
{public GameObject[] players;void Start (){players = GameObject.FindGameObjectsWithTag("Player");for(int i = 0; i < players.Length; i++){Debug.Log("Player Number "+i+" is named "+players[i].name);}}
}

25.Invoke

Invoke 函数可用于安排在以后的时间进行方法调用。在本视频中,您将学习如何在 Unity 脚本中使用 Invoke、InvokeRepeating 和 CancelInvoke 函数。

InvokeScript

using UnityEngine;
using System.Collections;public class InvokeScript : MonoBehaviour
{public GameObject target;void Start(){Invoke ("SpawnObject", 2);}void SpawnObject(){Instantiate(target, new Vector3(0, 2, 0), Quaternion.identity);}
}

InvokeRepeating

using UnityEngine;
using System.Collections;public class InvokeRepeating : MonoBehaviour
{public GameObject target;void Start(){InvokeRepeating("SpawnObject", 2, 1);}void SpawnObject(){float x = Random.Range(-2.0f, 2.0f);float z = Random.Range(-2.0f, 2.0f);Instantiate(target, new Vector3(x, 2, z), Quaternion.identity);}
}

26.枚举

枚举可用于创建相关常量的集合。在本视频中,您将学习如何在代码中声明和使用枚举。

public class EnumScript : MonoBehaviour
{enum Direction {North, East, South, West};void Start () {Direction myDirection;myDirection = Direction.North;}Direction ReverseDirection (Direction dir){if(dir == Direction.North)dir = Direction.South;else if(dir == Direction.South)dir = Direction.North;else if(dir == Direction.East)dir = Direction.West;else if(dir == Direction.West)dir = Direction.East;return dir;     }
}

27.Switch 语句

Switch 语句的作用类似于简化条件。当您希望将单个变量与一系列常量进行比较时,这类语句很有用。在本视频中,您将学习如何编写和使用 switch 语句。

using UnityEngine;
using System.Collections;public class ConversationScript : MonoBehaviour
{public int intelligence = 5;void Greet(){switch (intelligence){case 5:print ("Why hello there good sir! Let me teach you about Trigonometry!");break;case 4:print ("Hello and good day!");break;case 3:print ("Whadya want?");break;case 2:print ("Grog SMASH!");break;case 1:print ("Ulg, glib, Pblblblblb");break;default:print ("Incorrect intelligence level.");break;}}
}

Unity3d初级编程--Unity官方教程相关推荐

  1. 噩梦射手 安装包资源包提供下载 Unity官方教程 Survival Shooter 资源已经失效了!? Unity3D休闲射击类游戏《Survival Shooter》完整源码

    Unity官方教程 (Survival Shooter)  资源已经失效了! 可能是版本太老了 中文名叫噩梦射手? 找了半天找了这个版本 的 放到这里吧 [这个游戏主角是必死的,就看能坚持多久啦] 网 ...

  2. unity官方教程-TANKS(一)

    unity官方教程TANKS,难度系数中阶. 跟着官方教程学习Unity,通过本教程你可以学会使用Unity开发游戏的基本流程. 一.环境 Unity 版本 > 5.2 Asset Store ...

  3. Unity官方教程Ruby大冒险的自学笔记

    Unity官方教程Ruby大冒险的自学笔记 一. //正确例子: void Update(){//获取运动矢量moveX = Input.GetAxisRaw("Horizontal&quo ...

  4. java编程官方教程_Java编程入门官方教程

    图书特色:关键技能与概念:每章开头列出要介绍的技能和概念 专家解答:以问答形式提供附加信息和实用提示 编程练习:示范如何运用编程技能的紧贴实用的练习 自测题:每章后有一些测试题,以帮助读者扎实掌握Ja ...

  5. java编程入门pdf_Java 8编程入门官方教程(第6版) [(美)Schildt H.] 中文完整pdf扫描版[233MB]...

    Java8编程入门官方教程(第6版)针对新版JavaSE8对内容进行了全面更新.在畅销书作者Herbert Schildt(施密特)的帮助下,可以即刻开始学习Java程序设计的基础知识.<Jav ...

  6. Unity官方教程与使用方法介绍

    Unity官方教程与使用方法介绍

  7. Unity官方教程滚球游戏实现(Roll A Ball)带工程源码

    记学习unity之后做出的第一款游戏   第一次使用Unity,在学成C#基础之后,迫不及待的照着教程做出了这个游戏,第一课最主要学习的东西就是Unity API的使用及场景中各个界面面板的主要功能, ...

  8. [Unity教程]Unity官方教程资源一览及其说明

    在Unity 安装的时候,会提示安装的 组件,里面就有 教程 和 标准 工程.详见相关文章1 如果没有安装教程 ,可以 在 Unity 的 AssetStore 里面搜索 publisher:Unit ...

  9. unity官方教程 太空射击---问题填坑 之 计分以及游戏胜利

    (本文仅供自己参考,文中代码可能有误,毕竟手打没有VS的帮助,请仅供理解,切莫复制粘贴)原来的代码还是不理解为什么,但现在有了新的方法,前排提醒,一下方法会与官方教程出现巨大误差,请理解后使用 首先我 ...

  10. Unity官方教程Roll-a-ball (一)

    这是一个官方的教程,附上地址http://unity3d.com/cn/learn/tutorials/projects/roll-a-ball/set-up,因为是youtube的,怕有些人看不了, ...

最新文章

  1. Android移动开发之【Android实战项目】DAY14-修改json里某个字段的值
  2. web开发中常用的算法和函数
  3. iOS中的长文本高度计算
  4. 20150203一些移动端H5小bug解决
  5. pixel 6 root
  6. WingIDE中文乱码问题解决方法
  7. zz backgroundworker C#
  8. 中国酒器市场趋势报告、技术动态创新及市场预测
  9. livevent的几个问题
  10. IOS控件圆角、描边
  11. JavaEE学习05--cookiesession
  12. 广东省零售连锁协会执行会长:技术更新太快,消费者才是零售企业最大的对手...
  13. 常用网络特殊符号大全(含彩色表情符号)
  14. catia二次开发:文件视图,exe,窗口切换,隐藏罗盘复位,按名称找对象,newfrom,登录,状态栏, 类型名,显示,不弹提示,workbench,不可视,部分更新,导出展开结构树,换行,元素存在
  15. 利用MATLAB实现Sobel边缘检测
  16. 计算机病毒存于什么,计算机病毒防治体系存在的问题有什么
  17. 奔驰c260语言设置方法图解,奔驰C260L灯光使用方法,C260L灯光开关图解说明
  18. java 图形_java 画立体图形
  19. Java字节码编程之非常好用的javassist
  20. 实战篇--优惠券秒杀

热门文章

  1. Python数据分析学习系列 六 数据加载、存储与文件格式
  2. 使用 NVIDIA Kaolin Wisp 重建3D场景
  3. 刷百度权重那些不为人知的事情
  4. Codeforces Round #490 (Div. 3) C. Alphabetic Removals
  5. 使用python切分mp4视频并保存每帧图像
  6. java 大小写转换函数_java字符串大小写转换的两种方法
  7. 电脑系统怎么重装?U盘安装Windows 8系统保姆级教程
  8. oracle的音标,oracle的意思在线翻译,解释oracle中文英文含义,短语词组,音标读音,词源【澳典网ODict.Net】...
  9. 马科维兹+matlab,“马科维茨”投资组合模型实践——第三章 投资组合优化:最小方差与最大夏普比率...
  10. 【寒江雪】Go实现组合模式