控制鼠标单击的物体

void AMyCharacter::PossesClicked()
{
    APlayerController* PlayerController = Cast<APlayerController>(GetController());
    if (PlayerController != nullptr)
    {
        // Get the coordinates of the mouse from our controller
        float LocationX;
        float LocationY;
        PlayerController->GetMousePosition(LocationX, LocationY);
        // Do a trace and see if there the position intersects something in the world
        FVector2D MousePosition(LocationX, LocationY);
        FHitResult HitResult;
        const bool bTraceComplex = false;
        if (PlayerController->GetHitResultAtScreenPosition(MousePosition, ECC_Visibility, bTraceComplex, HitResult) == true )
        {
            // If the actor we intersected with is a controller posses it
            APawn* ClickedPawn = Cast<APawn>(HitResult.GetActor());
            if( ClickedPawn != nullptr )
            {
                // Unposses ourselves
                PlayerController->UnPossess();
                // Posses the controller we clicked on
                PlayerController->Possess(ClickedPawn);
            }
        }  

    }
}  
时间: 2024-12-28 10:42:25

控制鼠标单击的物体的相关文章

用VBS控制鼠标(获取鼠标坐标、鼠标移动、鼠标单击、鼠标双击、鼠标右击)

Demon's Blog 忘记了,喜欢一个人的感觉 Demon's Blog  ?  程序设计  ?  用VBS控制鼠标(获取鼠标坐标.鼠标移动.鼠标单击.鼠标双击.鼠标右击) ? bbPress积分插件--Virtual Money VBS调用WMI监视注册表变动 ? 用VBS控制鼠标(获取鼠标坐标.鼠标移动.鼠标单击.鼠标双击.鼠标右击) 标题: 用VBS控制鼠标(获取鼠标坐标.鼠标移动.鼠标单击.鼠标双击.鼠标右击)作者: Demon链接: http://demon.tw/programm

用VBS控制鼠标的实现代码(获取鼠标坐标、鼠标移动、鼠标单击、鼠标双击)

网上搜到的答案普遍是VBS无法实现,或者是要用第三方COM(ActiveX?)组件.我对第三方组件是很反感的,使用第三方组件毫无可移植性可言,因为别人的系统中不一定注册了这个组件.我的建议是,尽量不要在VBS代码中调用第三方组件,除非你的程序只是写来自己用.(顺便说一下,也尽量不要用不靠谱的Sendkeys方法,原因不解释) 好了,废话就说这么多,现在说说用VBS控制鼠标的方法.我以前写过一篇<VBS调用Windows API函数>,本以为既然都能调用API了,用VBS控制鼠标还不是很简单是事

用VBS控制鼠标,在Excel2010、2013,64位中

原作者文章地址:http://demon.tw/programming/vbs-control-mouse.html 感谢原作者的攻略.才使我学会用VBS控制鼠标. 但是问题接踵而至,Excel2003和Excel2007环境下,按文章做全然没问题. 但是Excel2010和Excel2013无法使用.会弹出窗体: 错误:无法执行"SetCursorPos"宏. 可能是由于该宏在此工作薄中不可用.或者全部的宏都被禁用. 代码:800A03EC 解决方法: 在宏设置中启用全部宏:在自己定

处理鼠标点击物体事件

如果需要处理鼠标点击物体的情况: using UnityEngine; using System.Collections; public class example : MonoBehaviour { void OnMouseOver() { renderer.material.color -= new Color(0.1F, 0, 0) * Time.deltaTime; } }

显示鼠标单击控件次数

#include <windows.h> LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); HINSTANCE hInst; /* The 'main' function of Win32 GUI programs: this is where execution starts */ int WINAPI WinMain(     HINSTANCE hInstance,     HINSTANCE hPrevInstance,    

摄像头控制鼠标,机器视觉(opencv)

核心代码: 1 private void Process() 2 { 3 IplImage imgShow = new IplImage(new CvSize(mCvCapture.FrameWidth / 2, mCvCapture.FrameHeight / 2), BitDepth.U8, 3); 4 5 IplImage iplImgSrc = mCvCapture.QueryFrame(); 6 if (iplImgSrc == null) 7 { 8 Debug.WriteLine(

unity 鼠标拖拽物体实现任意角度自旋转

主要涉及函数 Input.GetAxis(“Mouse x”) 可取得鼠标横向(x轴)移动增量 Input.GetAxis(“Mouse y”) 可取得鼠标竖向(y轴)移动增量 通过勾股定理获取拖拽长度,长度越长旋转越快 在project setting--Input 可以设置 直接上代码,看了就明白了 1 using UnityEngine; 2 using System.Collections; 3 4 public class startRoate : MonoBehaviour 5 {

onclick 事件-鼠标单击

onclick 鼠标单击事件 <script> function con(){ alert("xxx") } </script> <body> <button onclick='con()'>点击</button> </body>

(转)MFC鼠标单击消息拦截双击消息

如果LButtonDown和LButtonDblClk同时有实现的话 总会实现单击消息,在网上找解决方法,思想是在单击消息实现中取时间,计算两次单击事件的时间差 来回尝试修改,最后成这个样子,还算简单明了 clickInterval = 0: void OnLButtonDown(UINT nFlags, CPoint point) { if(GetTickCount() - clickInterval < GetDoubleClickTime()) {  this->OnLButtonDbl