Unity上机题—鼠标点击cube变色

题目是这样的,3个cube就分别叫a  b c 吧,如图

鼠标点中其中一个变色,如点中a,其变蓝,然后点中另一个后另一个变蓝,上一个点中的物体,恢复原来颜色,

我写的代码如下:其中我用了goto,虽然实现了,但是感觉不好,有人说用递归做,求指点

using UnityEngine;

using System.Collections;

public class MyScript : MonoBehaviour

{

private Color TempColor;//存物体颜色

private GameObject TempGame;//存点中物体

private bool Tempbool=true;//控制变化

void Update ()

{

Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

RaycastHit hit;

if (Physics.Raycast(ray, out hit)&&Input.GetMouseButtonDown(0))

{

aa:;//goto语句跳转标签

if (Tempbool)

{

Debug.Log(Tempbool);

TempGame = hit.transform.gameObject;//存点中物体

Tempbool = false;

}

else {

Debug.Log(Tempbool);

TempGame.renderer.material.color = TempColor;//上一个物体变色

Tempbool = true;

goto aa;

}

TempColor = hit.transform.gameObject.renderer.material.color;//存点中物体颜色

hit.transform.gameObject.renderer.material.color = Color.blue;//点中物体后变蓝

}

}

}

时间: 2024-11-08 02:04:50

Unity上机题—鼠标点击cube变色的相关文章

delphi7 怎么让button按钮跟着鼠标点击dbgrideh数据行移动

delphi7 怎么让button按钮跟着鼠标点击dbgrideh数据行移动 在 dbgrid的DBGridCellClick 事件中加上: Delphi/Pascal code 1 2 3 4 5 6 7 8 9 10 11 var   x, y : integer ;   P: TPoint; begin   GetCursorPos(P);   Edit1.Text := Format('X: %d, Y: %d',[P.X, P.Y]);   x := frMainTest.Left ;

sendmessage()模拟鼠标点击

{鼠标软模拟:好处就是不会真的移动鼠标 开始按钮 坐标 x=386y=387 }sendmessage(hookHwnd,messages.WM_LBUTTONDOWN ,0,$0180017A); {按下鼠标左键}sendmessage(hookHwnd,messages.WM_LBUTTONUP ,0, $0180017A); {抬起鼠标左键}{硬件模拟:会真的移动鼠标}mouse_event(MOUSEEVENTF_LEFTDOWN,X ,Y ,0,0);mouse_event(MOUSE

鼠标点击input时,placeholder中的提示信息消失

html代码: <input type="text" placeholder="请输入"> 鼠标点击input时,placeholder中的提示信息消失: <input type="text" placeholder="请输入" onfocus="this.placeholder=‘‘" onblur="this.placeholder=‘请输入‘">

使用JS或jQuery模拟鼠标点击a标签事件代码

原文 使用JS或jQuery模拟鼠标点击a标签事件代码 这篇文章主要介绍了使用JS或jQuery模拟鼠标点击a标签事件代码,需要的朋友可以参考下 <a id="alink" href="abc.aspx" style="visibility: hidden;">下一步</a> $("#alink").click(); // 触发了a标签的点击事件,但是没有触发页面跳转 document.getEleme

鼠标点击DIV后,DIV的背景变色(js)

<!DOCTYPE html> <html> <head> <script> window.onload = function(){ var divs = document.getElementsByTagName("div"); var len = divs.length; for(var i=0;i<len;i++){ divs[i].onclick = function(){ for(var j=0;j<len;j++)

使用jQuery模拟鼠标点击a标签事件

来源于:https://mo2g.com/view/42/ <html> <head> <meta charset="UTF-8"> <title>磨途歌-A标签测试3</title> </head> <body> <a href="http://www.mo2g.com">磨途歌</a> </body> </html> <scr

jquery 实现鼠标点击div盒子移动功能

// Start 窗口的拖动 var _move=false; //移动标记 var _x,_y; //鼠标离控件左上角的相对位置 $(document).ready(function(){ $(".box h4").click(function(){ // alert("click");//点击(松开后触发) }).mousedown(function(e){ var _this = $(".box"); if(!_move){ _move=t

远程控制篇:用Delphi模拟键盘输入/鼠标点击

模拟键盘我们用Keybd_event这个api函数,模拟鼠标按键用mouse_event函数. Keybd_event函数能触发一个按键事件,也就是会产生一个WM_KEYDOWN或WM_KEYUP消息,一般用这两个消息来模拟一 次按键(按键的过程是:按下,然后弹起),但是没有直接用这个函数方便.Keybd_event共有四个参数:第一个为按键的虚拟键值,如回车键为vk_return, tab键为vk_tab;第二个参数为扫描码,一般不用设置,用0代替就行;第三个参数为选项标志,如果为keydow

Mouse_event 鼠标点击

//这样就是左键单击 mouse_event( MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0 );// 按下mouse_event( MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 );//弹起 //这样就是双击了! mouse_event( MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0 );// 按下mouse_event( MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 );//弹起mouse_event( MOUSEEVE