lufy's legend

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 14169|回复: 18
打印 上一主题 下一主题

sprite点击事件问题

[复制链接]

1

主题

0

好友

41

积分

士兵

Rank: 1

跳转到指定楼层
楼主
发表于 2016-10-10 15:29:38 |只看该作者 |倒序浏览
我给页面添加了又带图片的sprite,然后给他添加鼠标事件,但却不能很好的在正确的地方触发点击事件

相关代码:

设置舞台:
LGlobal.stageScale = LStageScaleMode.SHOW_ALL;
LGlobal.canvasObj.style.width = winW + 'px';
LGlobal.canvasObj.style.height = ratio * 1180 + 'px';

添加角色:
backLayer = new LSprite();
rabbits = new LBitmap(new LBitmapData(img));
backLayer.addChild(rabbits);

backLayer.addEventListener(LMouseEvent.MOUSE_UP ,this.shoot.bind(this));

这时在界面上点击rabbits图片,只能在偏边缘处触发,点击其它部分不触发这事件。


QQ截图20161010160232.png (42.42 KB, 下载次数: 2146)

QQ截图20161010160232.png

回复

使用道具 举报

37

主题

8

好友

9313

积分

诸侯王

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

沙发
发表于 2016-10-11 09:10:46 |只看该作者
全屏设置引擎有自己的方法,请使用文档中的方法进行设置
不回答与技术和引擎不相关的问题
回复

使用道具 举报

1

主题

0

好友

41

积分

士兵

Rank: 1

板凳
发表于 2016-10-11 14:27:20 |只看该作者
lufy 发表于 2016-10-11 09:10
全屏设置引擎有自己的方法,请使用文档中的方法进行设置

我没有使用全屏,而是在html的某块区域作为游戏区域
回复

使用道具 举报

37

主题

8

好友

9313

积分

诸侯王

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

地板
发表于 2016-10-11 15:27:17 |只看该作者
panda 发表于 2016-10-11 14:27
我没有使用全屏,而是在html的某块区域作为游戏区域
  1. 设置舞台:
  2. LGlobal.stageScale = LStageScaleMode.SHOW_ALL;
  3. LGlobal.canvasObj.style.width = winW + 'px';
  4. LGlobal.canvasObj.style.height = ratio * 1180 + 'px';
复制代码
这里跟引擎冲突了,引擎有自己的方法设置画面大小,比如LGlobal.resize
如果一定要自己设置的话,需要先查看引擎源码,理解引擎的相关处理,将相关联的地方改完才行
不回答与技术和引擎不相关的问题
回复

使用道具 举报

1

主题

0

好友

41

积分

士兵

Rank: 1

5#
发表于 2016-10-12 09:25:30 |只看该作者
lufy 发表于 2016-10-11 15:27
这里跟引擎冲突了,引擎有自己的方法设置画面大小,比如LGlobal.resize
如果一定要自己设置的话,需要先 ...

我本来是试过这样写来设置画面大小的:
  LGlobal.stageScale = LStageScaleMode.EXACT_FIT;
  LGlobal.resize(winW,ratio * 1180);

但这样设置后,点击什么地方都触发不了 想要的点击事件
回复

使用道具 举报

37

主题

8

好友

9313

积分

诸侯王

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

6#
发表于 2016-10-12 10:07:33 |只看该作者
panda 发表于 2016-10-12 09:25
我本来是试过这样写来设置画面大小的:
  LGlobal.stageScale = LStageScaleMode.EXACT_FIT;
  LGlobal.r ...

请把代码发全,或者直接上传demo,或者发测试链接
不回答与技术和引擎不相关的问题
回复

使用道具 举报

1

主题

0

好友

41

积分

士兵

Rank: 1

7#
发表于 2016-10-12 16:16:30 |只看该作者
lufy 发表于 2016-10-12 10:07
请把代码发全,或者直接上传demo,或者发测试链接

http://ycan.me/activity/nextproject/index.html
这是测试网址

然后我试了下,如果我不开启chrome的手机模式就是正常可以点击的。
回复

使用道具 举报

37

主题

8

好友

9313

积分

诸侯王

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

8#
发表于 2016-10-12 17:29:04 |只看该作者
panda 发表于 2016-10-12 16:16
http://ycan.me/activity/nextproject/index.html
这是测试网址

原则上,引擎是不支持自己改变画布位置的,虽然改了之后显示是没有问题的,但是鼠标位置会无法判断,就是你现在遇到的情况
如果可以的话,把其它部分也用canvas来显示,至于画面的拖动效果用引擎也可以轻松实现的
不回答与技术和引擎不相关的问题
回复

使用道具 举报

1

主题

0

好友

41

积分

士兵

Rank: 1

9#
发表于 2016-10-12 18:30:52 |只看该作者
lufy 发表于 2016-10-12 17:29
原则上,引擎是不支持自己改变画布位置的,虽然改了之后显示是没有问题的,但是鼠标位置会无法判断,就是 ...

这样的话是不是只适合做全屏游戏的应用,因为在非全屏模式下,canvas的位置是随意的?
回复

使用道具 举报

37

主题

8

好友

9313

积分

诸侯王

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

10#
发表于 2016-10-13 08:58:18 |只看该作者
panda 发表于 2016-10-12 18:30
这样的话是不是只适合做全屏游戏的应用,因为在非全屏模式下,canvas的位置是随意的? ...

如果非全屏的话,canvas的部分需要在页面顶端,否则鼠标事件会有问题,当然如果没有鼠标交互的话是没有问题的
不回答与技术和引擎不相关的问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

防止垃圾广告,请填写任意字符

Archiver|lufy's legend

GMT+8, 2024-5-24 02:05 , Processed in 0.054733 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部