首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏技术综合

    通过canvas画板学习PointerEvent、MouseEvent和TouchEvent

    最近想开发个草稿纸功能, 所以学习了下canvas实现简单的画板功能, 但是我们知道在PC端我们可以用MouseEvent来监听我们的鼠标点按相关操作, 移动端可以使用TouchEvent来监听我们手指触摸相关操作 PointerEvent、MouseEvent和TouchEvent相对应的事件 PointerEvent MouseEvent TouchEvent poninterdown mousedown touchstart imageSmoothingEnabled = true let lineWidth = 3 let lineColor = '#fff' let painting = false </script> 2) 使用MouseEvent image.png 参考资料 https://developer.mozilla.org/zh-CN/docs/Web/API/MouseEvent https://developer.mozilla.org

    2.1K30发布于 2021-04-27
  • 来自专栏10km的专栏

    java SWT:MouseEvent,KeyEvent中stateMask字段的用法

    https://blog.csdn.net/10km/article/details/53453611 SWT中与键盘鼠标等输入设备有关的事件(MouseEvent,KeyEvent,SelectionEvent net.gdface.ui; import org.eclipse.swt.SWT; /** * @author guyadong * @see {@link org.eclipse.swt.events.MouseEvent

    1.2K20发布于 2019-05-25
  • 来自专栏javafx框架tornadofx

    创建可拖拽的控件

    ) { mouseEvent -> if (dragModeActiveProperty.value) { // 为所有的子节点禁用鼠标事件 mouseEvent.consume () } } wrapGroup.addEventFilter( MouseEvent.MOUSE_PRESSED ) { mouseEvent dragContext.mouseAnchorY = mouseEvent.y dragContext.initialTranslateX = node.translateX ) { mouseEvent -> if (dragModeActiveProperty.value) { // 通过增量计算鼠标光标动作来从初始位置移动node node.translateX = (dragContext.initialTranslateX + mouseEvent.x

    2.2K40发布于 2019-12-25
  • 来自专栏嵌入式项目开发

    QT应用编程: 解决QGraphicsScene重写鼠标事件无法直接得到鼠标坐标问题

    一、环境介绍 操作系统介绍:win10 64位 QT版本: 5.12.6 二、现象 重载QGraphicsScene相关的鼠标事件,想得到当前鼠标的坐标点,如果直接从mouseEvent取坐标,返回的坐标点全是 *mouseEvent); } ...... void my_graphicsScene::mousePressEvent(QGraphicsSceneMouseEvent *mouseEvent) { //鼠标左键按下 if(mouseEvent->button()==Qt::LeftButton) { //记录鼠标按下的点 start_point =mouseEvent->pos(); //相对窗口坐标---->这里得到的坐标全是0 } } 三、解决办法 /* 工程: ECRS 日期: 2021-01-02 作者: DS小龙哥 环境: win10 ) { QGraphicsScene::mousePressEvent(mouseEvent); qDebug()<<"坐标:"<<mouseEvent->scenePos(); } 最终程序实现的效果是

    1.8K20编辑于 2022-01-07
  • 来自专栏菩提树下的杨过

    Flash/Flex学习笔记(13):对象拖动(startDrag/stopDrag)

    ,pickup); myobj.addEventListener(MouseEvent.MOUSE_UP,place); function pickup(e:MouseEvent ):void { //trace("鼠标按下"); e.target.startDrag(); } function place(e:MouseEvent):void { //trace("鼠标抬起"); function MouseDownHandler(e:MouseEvent) { stage.addEventListener(MouseEvent.MOUSE_UP, MouseUpHandler R1.addEventListener(MouseEvent.MOUSE_UP,MouseUpHandler); R2.addEventListener(MouseEvent.MOUSE_DOWN,MouseDownHandler ); R2.addEventListener(MouseEvent.MOUSE_UP,MouseUpHandler); R3.addEventListener(MouseEvent.MOUSE_DOWN

    966100发布于 2018-01-23
  • 来自专栏Qt项目实战

    Qt开源作品8-通用控件移动

    = 0 && watched == widget) { QMouseEvent *mouseEvent = (QMouseEvent *)event; if (mouseEvent = QEvent::MouseButtonPress) { //如果限定了只能鼠标左键拖动则判断当前是否是鼠标左键 if (leftButton && mouseEvent ->pos())) { lastPoint = mouseEvent->pos(); pressed = true; } } else if (mouseEvent->type() == QEvent::MouseMove && pressed) { //计算坐标偏移值,调用move 函数移动过去 int offsetX = mouseEvent->pos().x() - lastPoint.x(); int offsetY = mouseEvent

    1K20发布于 2020-05-13
  • 来自专栏半生瓜のblog

    【QT】QT事件处理

    mouseevent.h #ifndef MOUSEEVENT_H #define MOUSEEVENT_H #include <QMainWindow> #include<QLabel> #include <QMouseEvent> namespace Ui { class MouseEvent; } class MouseEvent : public QMainWindow { Q_OBJECT *ui; QLabel *m_statusLabel; QLabel* m_posLabel; }; #endif // MOUSEEVENT_H mouseevent.cpp #include "mouseevent.h" #include "ui_mouseevent.h" MouseEvent::MouseEvent(QWidget *parent) : QMainWindow ::~MouseEvent() { delete ui; } void MouseEvent::mousePressEvent(QMouseEvent *event) { QString

    2.1K10编辑于 2023-05-13
  • 来自专栏菩提树下的杨过

    Flash/Flex学习笔记(36):自己动手实现一个滑块控件(JimmySilder)

    ,stageMouseMoveHandler); this.stage.addEventListener(MouseEvent.MOUSE_UP,stageMouseUpHandler); } _mcBtn.addEventListener(MouseEvent.MOUSE_OVER, mcBtnMouseOverHandler); this. _mcBtn.addEventListener(MouseEvent.MOUSE_OUT, mcBtnMouseOutHandler); this. _mcBtn.addEventListener(MouseEvent.MOUSE_DOWN,mcBtnMouseDownHandler); this. //切换光标为手形 private function mcBtnMouseOverHandler(e:MouseEvent) { Mouse.cursor=MouseCursor.HAND

    1.4K70发布于 2018-01-23
  • 来自专栏菩提树下的杨过

    FluorineFx:视频录制及回放(Flash/AS3环境)

    (e:MouseEvent):void { if (this. _btnConnect.removeEventListener(MouseEvent.CLICK,doConnect); this. _btnPlay.removeEventListener(MouseEvent.CLICK,doStopPlay); this. _btnPlay.removeEventListener(MouseEvent.CLICK,doPlay); this. _btnPlay.removeEventListener(MouseEvent.CLICK,doStopPlay); this.

    1.3K60发布于 2018-01-23
  • 来自专栏拂晓风起

    Flash:移除匿名函数监听器EventListener

    private function handleCreationComplete():void { sampleButton.addEventListener(MouseEvent.CLICK , createClickListener(1)); sampleButton.addEventListener(MouseEvent.CLICK, createClickListener (clickLimit:int):Function { var clickCount:int = 0; return function(mouseEvent :MouseEvent):void { clickCount++; trace("Click limit", clickLimit (MouseEvent.CLICK, arguments.callee); } } }

    53030发布于 2018-07-03
  • 来自专栏全栈程序员必看

    java绘图板

    mouseEvent) { } /** * 鼠标按下 */ public void mousePressed(MouseEvent mouseEvent) { this.oldMouseX = this.mouseX = mouseEvent.getX(); this.oldMouseY = this.mouseY = mouseEvent.getY(); repaint(); (MouseEvent mouseEvent) { this.setCursor(new Cursor(Cursor.CROSSHAIR_CURSOR)); } /** * 鼠标退出棋盘 ; this.oldMouseY = this.mouseY; this.mouseX = mouseEvent.getX(); this.mouseY = mouseEvent.getY( ); repaint(); } public void mouseMoved(MouseEvent mouseEvent) { } } } 发布者:全栈程序员栈长,转载请注明出处:https

    68110编辑于 2022-07-14
  • 来自专栏菩提树下的杨过

    Flash/Flex学习笔记(30):不用startDrag和stopDrag的对象拖动

    , MouseDownHandler); arrBalls[i].addEventListener(MouseEvent.MOUSE_UP, MouseUpHandler); arrBalls [i].addEventListener(MouseEvent.MOUSE_OVER,MouseOverHandler); arrBalls[i].addEventListener(MouseEvent.MOUSE_OUT ,MouseOutHandler); addChild(arrBalls[i]); } } function MouseOverHandler(e:MouseEvent):void , stageMouseMoveHandler); } //停止拖动 function MouseUpHandler(e:MouseEvent):void { _draggedBall ); } function stageMouseMoveHandler(e:MouseEvent):void { //trace(e.target); var _ball:Ball

    1.2K100发布于 2018-01-23
  • 来自专栏菩提树下的杨过

    Flash/Flex学习笔记(31):对象拖拽与投掷

    ,MouseDownHandler); ball.addEventListener(MouseEvent.MOUSE_OVER,function(){ Mouse.cursor = MouseCursor.HAND ;}); ball.addEventListener(MouseEvent.MOUSE_OUT,function(){ Mouse.cursor = MouseCursor.AUTO;}); < top) { ball.y=top+ball.radius; vy*=bounce; } } private function MouseDownHandler(e:MouseEvent ;}); ball.addEventListener(MouseEvent.MOUSE_OUT,function(){Mouse.cursor = MouseCursor.AUTO;}); ):void { oldX = ball.x; oldY = ball.y; stage.addEventListener(MouseEvent.MOUSE_UP, MouseUpHandler

    77390发布于 2018-01-23
  • 来自专栏liulun

    flash/flex图片幻灯片(小图列表,大图展示)

    /share/share_dat.asp"+p; picser.send(); } protected function btnLeft_mouseOverHandler(event:MouseEvent btnLeft2.visible=true; btnLeft1.visible=false; } protected function btnLeft_mouseOutHandler(event:MouseEvent btnLeft1.visible=true; btnLeft2.visible=false; } protected function btnRight_mouseOverHandler(event:MouseEvent Image = event.currentTarget as Image; set_pic(t); } protected function btnLeft1_clickHandler(event:MouseEvent ; } set_pic(picgroup.getElementAt(i) as Image); } protected function btnRight1_clickHandler(event:MouseEvent

    80450编辑于 2022-05-09
  • 来自专栏游戏杂谈

    ActionsScript 3.0简易涂鸦板

    , onclickHandler); //监听舞台的MouseEvent.MOUSE_DOWN、MouseEvent.MOUSE_UP事件 stage.addEventListener (MouseEvent.MOUSE_DOWN, onMouseDownHandler); stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUpHandler ); } private function onMouseDownHandler(event:MouseEvent):void { graphics.moveTo(mouseX, mouseY ); stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMoveHandler); } private function onMouseUpHandler(event:MouseEvent):void { stage.removeEventListener(MouseEvent.MOUSE_MOVE, onMouseMoveHandler

    81330发布于 2018-11-14
  • 来自专栏菩提树下的杨过

    Flash/Flex学习笔记(40):弹性运动续--弹簧

    ,function(){Mouse.cursor = MouseCursor.AUTO}); ball.addEventListener(MouseEvent.MOUSE_OVER,function() (MouseEvent.MOUSE_UP,MouseUpHandler); stage.addEventListener(MouseEvent.MOUSE_MOVE,function(){DrawLine ();}); ball_1.addEventListener(MouseEvent.MOUSE_OVER,MouseOverHandler); ball_1.addEventListener(MouseEvent.MOUSE_OUT (MouseEvent.MOUSE_OUT,MouseOutHandler); function MouseOutHandler(e:MouseEvent){ Mouse.cursor = MouseCursor.AUTO stage.addEventListener(MouseEvent.MOUSE_UP,MouseUpHandler); stage.addEventListener(MouseEvent.MOUSE_MOVE

    1.1K50发布于 2018-01-23
  • 来自专栏菩提树下的杨过

    Flash/Flex学习笔记(37):不用系统组件(纯AS3)的视频播放器--只有8.82K

    ,function(){ Mouse.cursor = MouseCursor.BUTTON}); btnSound.addEventListener(MouseEvent.MOUSE_OUT,function (){ Mouse.cursor = MouseCursor.AUTO}); btnSound.addEventListener(MouseEvent.MOUSE_DOWN,btnSoundMouseDown ); btnPlay.addEventListener(MouseEvent.CLICK,btnPlayMouseClick); btnPause.addEventListener(MouseEvent.CLICK _netStream.pause(); } //Stop按钮点击事件 function btnStopMouseClick(e:MouseEvent) { _netStream.pause(); ; removeEventListener(Event.ENTER_FRAME,EnterFrameHandler); stage.addEventListener(MouseEvent.MOUSE_UP

    1.1K100发布于 2018-01-23
  • 来自专栏游戏杂谈

    关于AS3的事件移除释疑

    80: mc.addEventListener(MouseEvent.CLICK, onClickHandler); 81: (MouseEvent.CLICK)); 84: 85: //移除指定的监听事件 86: //重复监听的事件,移除一次后将不再被监听 89: setTxt('是否监听了MouseEvent.CLICK事件:' + mc.hasEventListener( mc.addEventListener(MouseEvent.CLICK, function(e:MouseEvent):void { 93: var , getClickFn(100, function(fn:Function, evt:MouseEvent):void { 101:

    1.3K20发布于 2018-11-16
  • 来自专栏有意思的前端世界

    移动端页面如何优雅的适配各种屏幕,包括PC端

    接下来调用了triggerTouch方法: // ... function triggerTouch(touchType, mouseEvent) { const { altKey, ctrlKey , metaKey, shiftKey } = mouseEvent; // bubbles:该事件是否冒泡 // cancelable:该事件能否被取消 const touchEvent (mouseEvent); // 派发事件 eventTarget.dispatchEvent(touchEvent); } // ... { type } = mouseEvent; if (isMouseup(type)) return createTouchList(); return updateTouchList(mouseEvent (); touchList.push(new Touch(eventTarget, 1, mouseEvent)); return touchList; } // ...

    2.6K20编辑于 2022-10-31
  • 来自专栏菩提树下的杨过

    as3.0中如何阻止事件冒泡?

    .*; import flash.events.MouseEvent; public class EventTest extends Sprite { public function EventTest ,containerMouseDownHandler); _child.addEventListener(MouseEvent.MOUSE_DOWN,childMouseDownHandler ); _sub_child.addEventListener(MouseEvent.MOUSE_DOWN,subChildMouseDownHandler); } private function subChildMouseDownHandler(e:MouseEvent):void{ trace("_sub_child.MOUSE_DOWN"); _2"); } private function childMouseDownHandler(e:MouseEvent):void{ trace("_child.MOUSE_DOWN

    1.9K60发布于 2018-01-23
领券