zoukankan      html  css  js  c++  java
  • Unity3D笔记 切水果二 刀光剑影

    一、步骤一创建一个空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);
        }
        
        
        
    }


    作者:PEPE
    出处:http://pepe.cnblogs.com/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    Excel.Application使用手册
    VMwareworkstationfull9.0.1894247+汉化补丁(2013.1.22)+有效密钥
    3个月ESET全系列产品试用用户名和密码
    各大安软官方卸载工具
    MDX语法学习filter与iif的使用
    SET XACT_ABORT 用法
    wcf传输List<t>
    存储过程中SELECT与SET对变量赋值
    SQL Server 定时备份数据库(作业)
    数据仓库MDX实际应用
  • 原文地址:https://www.cnblogs.com/PEPE/p/3574667.html
Copyright © 2011-2022 走看看