一、步骤一创建一个空GameObject、js

二、代码

#pragma strict
var myColor:Color;
var firstPosition:Vector3;//鼠标点击的第一个点
var secondPosition:Vector3;//鼠标放开的位置
var middlePosition:Vector3;
var isClick:boolean=false;
private var lineRenderer:LineRenderer; function Start () {
lineRenderer=gameObject.AddComponent(LineRenderer);
lineRenderer.material.color=myColor;
lineRenderer.SetWidth(0.1,0.1);//设置宽度 起点宽度和终点宽度 function SetWidth (start : float, end : float) : void
} function Update () {
var isMouseDown=Input.GetMouseButton(0);//获取按钮
if(isMouseDown&&!isClick){
firstPosition=Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x,Input.mousePosition.y,1));
lineRenderer.SetVertexCount(1);//设置线段数
lineRenderer.enabled=true;
lineRenderer.SetPosition(0,firstPosition);
isClick=true;
}
if(isMouseDown){
secondPosition=Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x,Input.mousePosition.y,1));
lineRenderer.SetVertexCount(2);
lineRenderer.SetPosition(1,secondPosition);
}
if(Input.GetMouseButtonUp(0)){
isClick=false;
secondPosition=Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x,Input.mousePosition.y,1));
lineRenderer.SetVertexCount(2);
lineRenderer.SetPosition(1,secondPosition);
}
}

三、实现划线功能

四、实现刀光剑影

编辑好位置

调用刀光剑影

最终代码

#pragma strict
//var myColor:Color;
var firstPosition:Vector3;//鼠标点击的第一个点
var secondPosition:Vector3;//鼠标放开的位置
var middlePosition:Vector3;
var isClick:boolean=false; var myRay:GameObject;
private var rayGameObject:GameObject; //private var lineRenderer:LineRenderer; //function Start () {
// lineRenderer=gameObject.AddComponent(LineRenderer);
// lineRenderer.material.color=myColor;
// lineRenderer.SetWidth(0.1,0.1);//设置宽度 起点宽度和终点宽度 function SetWidth (start : float, end : float) : void
//} function Update () {
var isMouseDown=Input.GetMouseButton(0);//获取按钮
if(isMouseDown&&!isClick){
firstPosition=Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x,Input.mousePosition.y,1));
//lineRenderer.SetVertexCount(1);//设置线段数
//lineRenderer.enabled=true;
//lineRenderer.SetPosition(0,firstPosition);
isClick=true;
}
if(isMouseDown){
secondPosition=Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x,Input.mousePosition.y,1));
//lineRenderer.SetVertexCount(2);
//lineRenderer.SetPosition(1,secondPosition);
}
if(Input.GetMouseButtonUp(0)){
isClick=false;
secondPosition=Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x,Input.mousePosition.y,1));
//lineRenderer.SetVertexCount(2);
//lineRenderer.SetPosition(1,secondPosition); middlePosition=(firstPosition+secondPosition)/2.0;
var angle:float=Mathf.Atan((secondPosition.y-firstPosition.y)/(secondPosition.x-firstPosition.x));
rayGameObject=Instantiate(myRay,middlePosition,Quaternion.AngleAxis(angle*100/3.14,Vector3.forward));
Destroy(rayGameObject,1.0);
} }

Unity3D笔记 切水果二 刀光剑影的更多相关文章

  1. Unity3D笔记 切水果三 切水果

    一.创建一个Apple00,拖拽Prfabs下的Sprite命名为Apple00,添加碰撞器Box Collider,编写代码Knife Rey1.js 二.做被切的苹果 步骤和一是一样的,但是被切的 ...

  2. Unity3D笔记 切水果 一

    最终效果: 一.选择背景图片,选择GUI Texture 二.创建一个空的GameObject,然后添加背景音乐 三.创建GUISkin 四.主要代码 #pragma strict var myGUI ...

  3. Unity3d之Hash&Slash学习笔记之(二)--角色基础类的构建

    Hash&Slash学习笔记之(二)--角色基础类的构建 BaseStat类的构建 基本成员变量: _baseValue //基础属性值 _buffValue //增加的buff值 _expT ...

  4. Android破解学习之路(三)——Android游戏 切水果破解

    经过前两篇破解教程,想必大家也是明白了破解的简单流程了. 先对APP进行试用,了解APP运行的大概流程,之后从APP中找出关键字(一般的关键字差不多都是支付失败),之后使用Androidkiller进 ...

  5. 基于HTML5和JS实现的切水果游戏

    切水果游戏曾经是一款风靡手机的休闲游戏,今天要介绍的就是一款网页版的切水果游戏, 由JavaSript和HTML5实现,虽然功能和原版的相差太大,但是基本的功能还是具备了,还是模仿的挺逼真,有一定的J ...

  6. Codevs 1299 切水果

    题目链接 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 大师 Master 题目描述 Description 简单的说,一共N个水果排成一排,切M次,每次切[L,R]区间的所有水果 ...

  7. 【Unity Shaders】学习笔记——SurfaceShader(二)两个结构体和CG类型

    [Unity Shaders]学习笔记——SurfaceShader(二)两个结构体和CG类型 转载请注明出处:http://www.cnblogs.com/-867259206/p/5596698. ...

  8. Linux进程间通信IPC学习笔记之同步二(SVR4 信号量)

    Linux进程间通信IPC学习笔记之同步二(SVR4 信号量)

  9. Linux进程间通信IPC学习笔记之同步二(Posix 信号量)

    Linux进程间通信IPC学习笔记之同步二(Posix 信号量)

随机推荐

  1. Lua之转义字符

    print("\a");    --bell 硬件滴一声 print("a"); print("\b");    --back space  ...

  2. MySQL 字符串拼接详解

    在Mysql 数据库中存在两种字符串连接操作.具体操作如下一. 语法:   1. CONCAT(string1,string2,…)   说明 : string1,string2代表字符串,conca ...

  3. Linux-PAM认证机制

    http://www.cnblogs.com/marility/articles/9235522.html https://www.jianshu.com/p/342c05b51b7c https:/ ...

  4. Postman模拟Request Payload发送请求

    Postman模拟Request Payload发送请求,如下图所示:

  5. AngularJS------报错"The selector "app-user-item" did not match any elements"

    原因:新建的组件没有在任何界面使用到 解决方法:在界面使用该组件

  6. grid网格的流动grid-auto-flow属性

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. ios开发之--把秒转换为天时分秒

    把秒转换成时分秒: - (NSString *)timeFormatted:(int)totalSeconds { ; ) % ; ; return [NSString stringWithForma ...

  8. com.baidu.mapapi.CoordType

    2.2.2升级到3.0.1百度报错了, 一:请检查.jar,.so是否是最新的 二:clear

  9. 百度地图API接口

    js <script type="text/javascript"> // 百度地图API功能 var map = new BMap.Map("map&quo ...

  10. ACER-4738ZG 拆机改散热

    前言 武汉真是个很热的地方,我的笔记本于2011年3月份左右购买的,到现在已经两年多了,第一个暑假,我是在苏州的空调房使用,第二个暑假,我是在实验室的空调房使用,没有直接感受到夏天对笔记本的杀伤力,今 ...