一、步骤一创建一个空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. Android Material Design控件学习(二)——NavigationView的学习和使用

    前言 上次我们学习了TabLayout的用法,今天我们继续学习MaterialDesign(简称MD)控件--NavigationView. 正如其名,NavigationView,导航View.一般 ...

  2. android project 文件夹

    android多国语言文件夹 http://www.blogjava.net/zhaojianhua/archive/2012/02/09/369676.html Android平板开发精确适配不同的 ...

  3. Linux中什么是块设备 及 lsblk命令的使用

    Linux中I/O设备分为两类:字符设备和块设备.两种设备本身没有严格限制,但是,基于不同的功能进行了分类.(1)字符设备:提供连续的数据流,应用程序可以顺序读取,通常不支持随机存取.相反,此类设备支 ...

  4. HTML5标签canvas图像处理

    摘要: canvas可以读取图片后,使用drawImage方法在画布内进行重绘.本文介绍canvas的图像处理 drawImage drawImage() 方法在画布上绘制图像.画布或视频.drawI ...

  5. Ansible 远程执行脚本

    1. 先在服务端创建一个 shell 脚本 [root@localhost ~]$ cat /tmp/test.sh #!/bin/bash echo "hello world" ...

  6. C语言中打印返回值

    demo: ----return :返回值------------------ int mosquitto_username_pw_set(struct mosquitto *mosq, const ...

  7. make clean、make mrproper、make distclean的区别【转】

    本文转载自:http://blog.csdn.net/liyayao/article/details/6818061 内核编译时, 到底用make clean, make mrproper还是make ...

  8. php危险的函数和类 disable_functions/class

    phpinfo()功能描述:输出 PHP 环境信息以及相关的模块.WEB 环境等信息.危险等级:中 passthru()功能描述:允许执行一个外部程序并回显输出,类似于 exec().危险等级:高 e ...

  9. 如何判断一个请求为ajax请求?

    AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和XML). ajax的请求头如下: 如上图所示具有“X-Request-With”属性,该 ...

  10. Android学习之蓝牙操作

    BluetoothAdapter 用法 蓝牙运行原理:通过BluetoothAdapter 蓝牙适配器处理任务,如果蓝牙被启动之后,系统会自动去搜索其它设备,如果匹配到附近的设备就发送一个广播,Bro ...