Genome2D编译方法
Genome2D是一个高效的2D引擎,现在支持Flash(stage3d)和HTML5,因为只有作者一个人在维护,就没开源代码。
最近和作者沟通了下,已经开源啦。
Genome2D是一个高效的2D引擎,现在支持Flash(stage3d)和HTML5,因为只有作者一个人在维护,就没开源代码。
最近和作者沟通了下,已经开源啦。
最近把公司从SVN切到GIT下,因为大多同事在Windows下开发,又碰到换行符问题,找到一个批量转换方法
打开UE->在文件中替换,把^p替换成^n,然后设置好要替换的文件和路径,就开始替换吧。
flashdevelop没有直接支持生成swc的工程,但flashdevelop生成swc也比较方便,不用任何插件。
swc库是由 flexsdk的compc.exe生成的,其实我们通过这个命令行也可以直接生成swc。但还是直接在flashdevelop里F8一下,编译+生成来得方便。
在使用vs2013编译boost-1.55.0之前,先要给boost做下修改:
boost_1_55_0\boost\intrusive\detail\has_member_function_callable_with.hpp line:222
template<class U> static BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME) <U> Test(BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)<U>*);
替换成以下内容:
#ifdef BOOST_MSVC template<class U> static decltype(boost::move_detail::declval<Fun>().BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME() , boost_intrusive_has_member_function_callable_with::yes_type()) Test(Fun*); #else template<class U> static BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME) <U> Test(BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)<U>*); #endif
flex4.5和4.6在textField.getCharBoundaries()这个方法的返回结果上是不一样的。
getCharBoundaries()方法只会返回被渲染出来的文字的边框信息,也就是说,如果文本框大小比真正的文本大小要小,那么你想要打印出没有显示的文字的边框信息是不可能的!
在4.5中,打印出的边框信息是相对于textfield的textHeight属性,而4.6打印出的边框信息是相对于textfield的height属性。这就造成了richtextfield表情显示上的混乱!
解决方法:
private function renderSprite(sprite:DisplayObject, index:int):void
{
var rect:Rectangle = textRenderer.getCharBoundaries(index);
if (rect != null)
{
sprite.x = (rect.x + (rect.width - sprite.width) * 0.5 + 0.5) >> 0;
var y:Number = (rect.height - sprite.height) * 0.5;
var lineMetrics:TextLineMetrics = textRenderer.getLineMetrics(textRenderer.getLineIndexOfChar(index));
//make sure the sprite's y is not smaller than the ascent of line metrics
if (y + sprite.height < lineMetrics.ascent) y = lineMetrics.ascent - sprite.height;
sprite.y = (rect.y + y + 0.5) >> 0;
//flex sdk 4.6添加,否则有显示bug
sprite.y += -_spriteContainer.y;
_spriteContainer.addChild(sprite);
}
}
http://115.com/lb/5lbeuosjhgm#
iview436.zip
115网盘礼包码:5lbeuosjhgm
再送一个注册码生成器(.net2.0),不过这个软件是完全免费的,有心有力的话,还是支持下作者吧!
1 package 2 { 3 import flash.utils.ByteArray; 4 /** 5 * 输出ByteArray为16进制 6 * @author Rise 7 */ 8 public class Byte2Hex 9 { 10 public static function Trace(bytes:ByteArray):void 11 { 12 if (bytes == null) 13 { 14 trace("bytes is null"); 15 return; 16 } 17 var length:int = getHexLen(bytes.length); 18 length = length > 4 ? length : 4; 19 trace(getTitle(length)); 20 bytes.position = 0; 21 for (var j:int = 0; bytes.bytesAvailable > 0; j += 16) 22 { 23 var line:String = fillHexLen(j, length) + " "; 24 var str:String = ""; 25 for (var i:int = 0; i < 16; i++) 26 { 27 if (bytes.bytesAvailable > 0) 28 { 29 var char:int = bytes.readByte() & 0xFF; 30 line += fillHexLen(char, 2) + " "; 31 str += String.fromCharCode(char); 32 } 33 else 34 { 35 line += ".. "; 36 } 37 } 38 trace(line, "\t", str); 39 } 40 } 41 42 private static function fillHexLen(num:int, length:int):String 43 { 44 var str:String = num.toString(16); 45 var zeros:String = ""; 46 for (var i:int = 0; i < length - str.length; i++) 47 { 48 zeros += "0"; 49 } 50 51 return zeros + str; 52 } 53 54 private static function getHexLen(length:int):int 55 { 56 var bit:int = 0x0F; 57 for (var i:int = 1; i <= 8; i++) 58 { 59 bit = bit << i | bit; 60 if (bit > length) 61 { 62 return i; 63 } 64 } 65 return 8; 66 } 67 68 private static function getTitle(length:int):String 69 { 70 var title:String = ""; 71 for (var i:int = 0; i < length; i++) 72 { 73 title += " "; 74 } 75 return(title + " 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15"); 76 } 77 } 78 }
代码很烂,高手勿喷。
本文转自:http://cowboy-bebop.iteye.com/blog/1035550,仅做稍微整理,转载请注明出处。
1. IDEA内存优化
因机器本身的配置而配置:
\IntelliJ IDEA 8\bin\idea.exe.vmoptions
-----------------------------------------
-Xms64m
-Xmx256m
-XX:MaxPermSize=92m
-ea
-server
-Dsun.awt.keepWorkingSetOnMinimize=true
2. 查询快捷键
CTRL+N 查找类
CTRL+SHIFT+N 查找文件
CTRL+SHIFT+ALT+N 查找类中的方法或变量
CIRL+B 找变量的来源
CTRL+ALT+B 找所有的子类
CTRL+SHIFT+B 找变量的类
CTRL+G 定位行
CTRL+F 在当前窗口查找文本
CTRL+SHIFT+F 在指定窗口查找文本
CTRL+R 在 当前窗口替换文本
CTRL+SHIFT+R 在指定窗口替换文本
ALT+SHIFT+C 查找修改的文件
CTRL+E 最近打开的文件
F3 向下查找关键字出现位置
SHIFT+F3 向上一个关键字出现位置
F4 查找变量来源
CTRL+ALT+F7 选中的字符查找工程出现的地方
CTRL+SHIFT+O 弹出显示查找内容
vmware安装的一个大坑,最近在开发上需要用到centos 6.4,由于我本身的系统是win8所以决定使用虚拟机,选择了vmware,并且从网上下载的虚拟机的映像文件.中间安装了vmware8,安装完成后vmware tools始终提示无法安装,提示信息是:
本文有点长而且有点乱,但就像_Mark Twain Blaise Pascal 的_笑话里说的那样:我没有时间让它更短些。在Git的邮件列表里有很多 关于本文的讨论 ,我会尽量把其中相关的观点列在下面。