1. 程式人生 > >UI介面基礎如何用滑鼠控制物體移動

UI介面基礎如何用滑鼠控制物體移動

如何用滑鼠控制小球移動

這是一個小活,目的就是不讓之前的學習停滯下來,其實知道之前如何用鍵盤控制小球一樣,無非這裡是把鍵盤換成了滑鼠,我還是希望大家靠自己去實現。

定義任務

讓滑鼠能夠拖動螢幕上的小球。還是先來分解一下任務,首先是先要一個窗體。然後是畫上一個小球,最後是滑鼠點選事件。這樣的提示看上去雖然是很累贅,但是也不完全是多餘,對於初學者,在對一個任務還沒有很清晰的邏輯之前,最好的辦法就是將任務分佈處理。和鍵盤處理事件一樣,滑鼠處理事件也有相應的介面,而且滑鼠處理事件的介面有兩個:一個是MouseListener。另一個是MouseMotionListener。我們知道滑鼠的狀態有移動,拖動,停著點選,在Java裡將這些動作劃分成了兩類,分別是移動和靜止,所有和移動有關的都是MouseMotionListener,靜止時MouseListener。

程式碼實現
自己嘗試寫一下程式碼,然後再看我的程式碼

    import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
public class MyBall {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        Frame w = new Frame();
        w.setSize(300, 400);

        MyOval mp = new
MyOval(); w.add(mp); //註冊事件 w.addMouseMotionListener(mp); mp.addMouseMotionListener(mp); w.show(); } } class MyOval extends Panel implements MouseMotionListener{ int x=30; int y=30; public void paint(Graphics g){ g.fillOval(x, y, 20, 20); } @Override public
void mouseDragged(MouseEvent e) { // TODO Auto-generated method stub x=e.getX(); y=e.getY(); repaint(); } @Override public void mouseMoved(MouseEvent e) { // TODO Auto-generated method stub } }
這一小段的程式碼經過之前的訓練完全有能力自己寫出來,那麼我們來分析一下,完成這一步的關鍵程式碼就在滑鼠拖動那裡,我們無是在這裡修改x和y的值,然後重畫。x和y的值要變成什麼樣子呢?當然是滑鼠的位置了,那麼滑鼠的位置如何得到,就像鍵盤事件裡我們尋找哪個按鍵被按下一樣,答案就在那麼引數e裡,用它點點看看支援的方法,然後打印出來看看,你就會明白了是怎麼一回事情了。是不是很簡單呢

相關推薦

UI介面基礎如何用滑鼠控制物體移動

如何用滑鼠控制小球移動 這是一個小活,目的就是不讓之前的學習停滯下來,其實知道之前如何用鍵盤控制小球一樣,無非這裡是把鍵盤換成了滑鼠,我還是希望大家靠自己去實現。 定義任務 讓滑鼠能夠拖動螢幕上的小球。還是先來分解一下任務,首先是先要一個窗體。然後是

Unity在UI介面上顯示3D模型/物體控制模型旋轉

Unity3D物體在UI介面的顯示 本文提供全流程,中文翻譯。 Chinar 堅持將簡單的生活方式,帶給世人!(擁有更好的閱讀體驗 —— 高解析度使用者請根據需求調整網頁縮放比例) Chinar —— 心分享、心創新!助力快速利用 UGUI

Unity鍵盤控制物體左右旋轉前後移動的c#指令碼

using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeScript : MonoBehaviour {void Start () {}v

Unity —— 通過鼠標點擊控制物體移動

技術 aps this lap sep CA sha pub mon 1 //ClickMove - - 通過鼠標點擊控制物體移動 2 3 using System.Collections; 4 using System.Collections.Generic

unity3d之滑鼠控制人物移動

參考http://blog.csdn.net/a2587539515/article/details/9390795博文 實現其實很簡單,用到navigation  第一步獲取滑鼠點選的世界座標 第二步,移動到改座標點 程式碼如下: Vector3 poin

WASD鍵控制物體移動

指令碼掛在物體上 using System.Collections; using System.Collections.Generic; using UnityEngine; public class write : MonoBehaviour { private Transfo

Unity3D搖桿控制物體移動及圖片

Unity3D搖桿控制物體移動 指令碼掛在移動的控制器上 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems;

unity 實現滑鼠控制角色移動和角色頭部的血條顯示

在很多專案中,都有這樣的場景就是滑鼠點選一個位置,滑鼠所控制的玩家就會移動到指定的位置處,還有就是在戰鬥過程中任務頭上血條的UI跟隨顯示,今天就講一下如何實現通過滑鼠控制人物移動和人物頭部血條的顯示。 一、首先是搭建簡易的3D場景 這裡使用Terrain地形元件,安裝官方

Unity3D控制物體移動

在遊戲開發中,遊戲物體的移動是最基本的,如果連物體都移動不起來,那就不用說玩遊戲了。 下面記錄了自己在開發中實現的物體移動,不同專案可能有不同的物體移動實現,也有很多種不同的物體移動實現,文章會持續更新。 1.rigidbody.MovePosition()控制物體上下左

[Unity3D]簡單的UGUI滑條控制物體移動

滑條控制物體移動 在做作業的時候需要用滑條控制物體的直線滑動,簡單寫了一下,在這裡分享一下 1、效果 2、用法 建立一個canvas 在canvas上建立一個slider,命名為Mslider 給Mslider加上MySlider指令碼 將目標物體

unity三大控制物體移動的元件

Transform元件: Rigidbody元件: CharacterController元件:角色控制器元件也屬於物理元件,在Physic物理屬性下,我查資料顯示角色控制器主要用於第三人稱和第一人稱遊戲主角(人形為主)的控制 使用SimpleMove控制角色移動,這裡附上程式碼方便自己記憶

Unity3D之滑鼠控制角色移動與奔跑示例

最新補充。          一般在做滑鼠選擇時是從攝像機向目標點發送一條射線,然後取得射線與物件相交的點來計算3D目標點。後來在開發中發現了一個問題(射線被別的物件擋住了),就是如果主角的前面有別的遊戲物件擋著。此時如果使用射線的原理,滑鼠選擇被檔的物件,這樣主角就

unity 實現鍵盤控制物體移動和轉向

unity 的character controller不太好用,碰撞什麼的不好操作,經常需要自己寫人物移動的指令碼,所以就記錄一下。 這個指令碼程式碼很簡單,實現的是按下鍵盤上下方向鍵,人物前進後退,按下鍵盤左右方向鍵,人物向左或向右轉彎。一般情況下使用一個膠囊體代表pl

Unity3d虛擬搖桿控制物體移動及旋轉

   王者榮耀在現在看來可能已經成為不少人每天都會開啟一款軟體,角色的控制及其操作方式簡單,使其短時間內獲得了大量的玩家喜愛和追捧。    可以很明顯的看到王者榮耀的操作方式就是虛擬搖桿,可以控制人物的的移動,及其旋轉,或者是控制技能的釋放方向。此篇部落格就unity中如何實

C程式碼寫貪吃蛇遊戲--按鍵控制移動

通過按鍵控制蛇的移動,首先需要讀取按鍵,通過按鍵來控制。 通過百度後得知用kbhit(); 用一小段程式碼進行測試: 一直輸出Hello World,直到使用者按Esc結束 #include "stdafx.h" #include<st

Unity3D中開發2D遊戲——簡單控制物體移動

在Unity3D中開發2D遊戲簡單實現物體的上下左右移動1.簡單實現物體的上下左右移動(左前右前)掛到物體下(本人學習過程中所記筆記 給像我一樣的新人提供方便)2.如何正確顯示物體移動時方向定義public精靈陣列tankSprite[]實現按下方向鍵同時顯示物體的正確方向

滑鼠控制玩家選擇的英雄轉動

using UnityEngine; using System.Collections; /// <summary> /// 電腦遊戲中,遊戲開始,選擇英雄時,用滑鼠點選控制玩家選擇的英雄轉動,來全方位展示所選英雄 /// </summary> pu

NGUI 關於大背景滑鼠點選移動問題

float speed = 0.5f;     Vector2 start, stop;     Vector2 step;//滑鼠點選移動的向量     private Vector3 Velocity = Vector3.zero;     Vector2 pstart, pstop, pstep;  

滑鼠點選按鈕控制圖片移動或者鍵盤控制圖片移動(解決問題:parseInt失效問題,Number)

在測試用滑鼠點選按鈕,使圖片左右上下移動: 效果如下: 程式碼如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title><

Android Studio開發基礎之使用XML和Java程式碼混合控制UI介面

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http:/