工作内容:
1.优化区域截图功能
1)去掉另存为时,界面上的红色方框。 在弹出另存为对话框前,关闭区域截图界面,并且强制刷新。
2)以时间戳命名图片,并且保存到同一目录。C 拼接字符串函数,如果想拼接一个64位整型,需要两个%d。
3)将图片放入剪切板。无法用cmd命令执行Ctrl+C操作,所以只能用代码打开剪切板,放里面设置图片数据 使用DIB类型。
4)右键取消已经选择的区域,重新选择。使用scaleform扩展鼠标事件MouseEventEx中的indexId判断。
5)双击选择区域,表示选择。这个非常难搞,一开始以为客户端逻辑有问题,没有传入连续的两个单击事件,导致flash内部无法响应双击事件,后来查到原因是单击目标后执行了一个mc的startDrag函数,使得它能够被拖拽,结果所有的鼠标事件全部被吞咽,无法再响应双击事件,这个也是scaleform的一个非常不好的地方,flash本身没有问题的。
解决方法是将拖拽延后执行,留有足够的时间判断是否进行了双击。如果要监测flash本身的双击事件,如要打开被点中目标的doubleClickEnabled,但是如果要监测舞台的双击事件,恐怕要打开所有对象的这个属性,有点太麻烦,所以干脆自己监听单击事件,记下时间戳,判断两次单击事件的时间是否达到触发双击事件的程度。
2.解决泰文的屏蔽字无效。发现泰文不能保存为ascii文本,所以将所有屏蔽字改为UTF8文本,因为互联网都是以这种格式传播文字,肯定好使。但是我们的rddm读取UTF8文本的时候会在字符缓冲区开头加3个奇怪的字符,所以将屏蔽字的第一行作为无效来处理。
解决问题的时候,想清楚最有可能的关联,可以尝试卸载部分功能排查。