Lua中调用CPlusPlus方法

【本文由“木易林”发布,2017年02月07日】

目前项目,使用了Lua脚本,至于使用Lua的好处不再赘述了。于是对Tolua做了一些小小的学习,总结一下吧。

主要说一下如何在Lua中调用C++方法。

Lua调用C++的桥梁,是tolua。

我们需要手动做的,其实便是编写中间类,这个类被tolua直接使用,最终的目的是实现lua中对象方法和C++中对象方法的对应。

LuaCocos2d.cpp 完成了所有基本的cocos对象方法的转换,我们把它称之为一个桥梁。LuaCocos2d.cpp 是在CCLuaStack 中的init函数中调用的。

1

tolua_Cocos2d_open(m_state);

1.CCLuaStack 中调用中间桥梁(比如LuaCocos2d)

2.桥梁里面(比如LuaCocos2d)实现各种方法的转换

这样,整个的重点就是桥梁的生成了。

看一下LuaCocos2d ,最重要的方法我认为是tolua_reg_types。

/* function to register type */

staticvoidtolua_reg_types (lua_State* tolua_S)

{

tolua_usertype(tolua_S,"CCTransitionProgressOutIn");

tolua_usertype(tolua_S,"CCControlSaturationBrightnessPicker");

tolua_usertype(tolua_S,"CCShaky3D");

tolua_usertype(tolua_S,"CCTransitionTurnOffTiles");

tolua_usertype(tolua_S,"CCTransitionShrinkGrow");

tolua_usertype(tolua_S,"CCFadeOutBLTiles");

tolua_usertype(tolua_S,"CCProgressFromTo");

tolua_usertype(tolua_S,"CCActionCamera");

tolua_usertype(tolua_S,"CCFlipY3D");

tolua_usertype(tolua_S,"CCLinkPosition");

tolua_usertype(tolua_S,"CCEaseExponentialIn");

tolua_usertype(tolua_S,"CCApplication");

tolua_usertype(tolua_S,"CCControlHuePicker");

tolua_usertype(tolua_S,"CCScaleTo");

tolua_usertype(tolua_S,"CCTransitionFlipAngular");

tolua_usertype(tolua_S,"CCEaseElasticOut");

tolua_usertype(tolua_S,"CCAccelDeccelAmplitude");

tolua_usertype(tolua_S,"CCDisplayData");

tolua_usertype(tolua_S,"CCParticleRain");

tolua_usertype(tolua_S,"CCTransitionSlideInB");

tolua_usertype(tolua_S,"CCKeypadDispatcher");

tolua_usertype(tolua_S,"CCDelayTime");

tolua_usertype(tolua_S,"CCOrbitCamera");

tolua_usertype(tolua_S,"CCLabelTTF");

tolua_usertype(tolua_S,"CCScale9Sprite");

tolua_usertype(tolua_S,"CCMoveTo");

tolua_usertype(tolua_S,"CCTransitionSplitRows");

tolua_usertype(tolua_S,"CCFollow");

tolua_usertype(tolua_S,"CCMovementData");

tolua_usertype(tolua_S,"CCBlink");

tolua_usertype(tolua_S,"CCTexture2D");

tolua_usertype(tolua_S,"CCTouch");

tolua_usertype(tolua_S,"CCParticleSystemQuad");

tolua_usertype(tolua_S,"CCTransitionMoveInB");

tolua_usertype(tolua_S,"CCToggleVisibility");

tolua_usertype(tolua_S,"cc_timeval");

tolua_usertype(tolua_S,"CCTMXTilesetInfo");

tolua_usertype(tolua_S,"CCParticleSun");

tolua_usertype(tolua_S,"CCScene");

tolua_usertype(tolua_S,"CCArmatureDataManager");

tolua_usertype(tolua_S,"CCFadeIn");

tolua_usertype(tolua_S,"CCTransitionFadeDown");

tolua_usertype(tolua_S,"CCWavesTiles3D");

tolua_usertype(tolua_S,"CCFadeOutDownTiles");

tolua_usertype(tolua_S,"CCComponentContainer");

tolua_usertype(tolua_S,"CCTMXTiledMap");

tolua_usertype(tolua_S,"CCCardinalSplineBy");

tolua_usertype(tolua_S,"CCTransitionZoomFlipAngular");

tolua_usertype(tolua_S,"CCFlipY");

tolua_usertype(tolua_S,"CCProgressTo");

tolua_usertype(tolua_S,"CCReuseGrid");

tolua_usertype(tolua_S,"CCShow");

tolua_usertype(tolua_S,"CCEaseRateAction");

tolua_usertype(tolua_S,"CCEaseBackIn");

tolua_usertype(tolua_S,"CCTransitionScene");

tolua_usertype(tolua_S,"CCGridAction");

tolua_usertype(tolua_S,"CCFiniteTimeAction");

tolua_usertype(tolua_S,"CCSpriteFrameCache");

tolua_usertype(tolua_S,"CCMotionStreak");

tolua_usertype(tolua_S,"CCAnimate");

tolua_usertype(tolua_S,"CCTiledGrid3DAction");

tolua_usertype(tolua_S,"CCPointArray");

tolua_usertype(tolua_S,"CCTransitionProgressHorizontal");

tolua_usertype(tolua_S,"CCRectShape");

tolua_usertype(tolua_S,"ccColor3B");

tolua_usertype(tolua_S,"CCTextureCache");

tolua_usertype(tolua_S,"CCDevice");

tolua_usertype(tolua_S,"CCFadeOutTRTiles");

tolua_usertype(tolua_S,"CCMenuItemSprite");

tolua_usertype(tolua_S,"CCEaseExponentialInOut");

tolua_usertype(tolua_S,"CCFadeOutUpTiles");

tolua_usertype(tolua_S,"CCWaves3D");

tolua_usertype(tolua_S,"ccBlendFunc");

tolua_usertype(tolua_S,"CCImage");

tolua_usertype(tolua_S,"CCLens3D");

tolua_usertype(tolua_S,"CCTintBy");

tolua_usertype(tolua_S,"CCBool");

tolua_usertype(tolua_S,"CCPoint");

tolua_usertype(tolua_S,"CCParticleMeteor");

tolua_usertype(tolua_S,"CCEaseElasticIn");

tolua_usertype(tolua_S,"CCEaseSineIn");

tolua_usertype(tolua_S,"CCCardinalSplineTo");

tolua_usertype(tolua_S,"CCFloat");

tolua_usertype(tolua_S,"CCWaves");

tolua_usertype(tolua_S,"CCParticleFireworks");

tolua_usertype(tolua_S,"CCEvent");

tolua_usertype(tolua_S,"CCBaseData");

tolua_usertype(tolua_S,"CCActionInterval");

tolua_usertype(tolua_S,"CCRenderTexture");

tolua_usertype(tolua_S,"CCObject");

tolua_usertype(tolua_S,"CCEaseBackInOut");

tolua_usertype(tolua_S,"CCAtlasNode");

tolua_usertype(tolua_S,"CCEaseBackOut");

tolua_usertype(tolua_S,"CCSize");

tolua_usertype(tolua_S,"CCInteger");

tolua_usertype(tolua_S,"CCParticleFlower");

tolua_usertype(tolua_S,"CCLiquid");

tolua_usertype(tolua_S,"CCEaseBounce");

tolua_usertype(tolua_S,"CCSpeed");

tolua_usertype(tolua_S,"CCFrameData");

tolua_usertype(tolua_S,"CCTransitionMoveInL");

tolua_usertype(tolua_S,"CCSpriteFrame");

tolua_usertype(tolua_S,"CCJumpBy");

tolua_usertype(tolua_S,"CCTransitionFadeTR");

tolua_usertype(tolua_S,"CCControlUtils");

tolua_usertype(tolua_S,"CCGridBase");

tolua_usertype(tolua_S,"RGBA");

tolua_usertype(tolua_S,"CCParticleDisplayData");

tolua_usertype(tolua_S,"SimpleAudioEngine");

tolua_usertype(tolua_S,"CCNotificationCenter");

tolua_usertype(tolua_S,"CCPointShape");

tolua_usertype(tolua_S,"CCSpriteBatchNode");

tolua_usertype(tolua_S,"CCEaseSineInOut");

tolua_usertype(tolua_S,"ccFontShadow");

tolua_usertype(tolua_S,"CCTwirl");

tolua_usertype(tolua_S,"CCCircleShape");

tolua_usertype(tolua_S,"CCDrawNode");

tolua_usertype(tolua_S,"CCControlColourPicker");

tolua_usertype(tolua_S,"CCMenuItemLabel");

tolua_usertype(tolua_S,"CCDouble");

tolua_usertype(tolua_S,"CCTargetedAction");

tolua_usertype(tolua_S,"CCGrid3DAction");

tolua_usertype(tolua_S,"CCString");

tolua_usertype(tolua_S,"CCRemoveSelf");

tolua_usertype(tolua_S,"CCAnimationData");

tolua_usertype(tolua_S,"CCTransitionMoveInR");

tolua_usertype(tolua_S,"CCTransitionFade");

tolua_usertype(tolua_S,"CCSkewBy");

tolua_usertype(tolua_S,"CCFlipX");

tolua_usertype(tolua_S,"CCActionManager");

tolua_usertype(tolua_S,"CCTransitionSlideInT");

tolua_usertype(tolua_S,"CCCatmullRomTo");

tolua_usertype(tolua_S,"CCPolygonShape");

tolua_usertype(tolua_S,"CCTransitionSceneOriented");

tolua_usertype(tolua_S,"CCAnimationCache");

tolua_usertype(tolua_S,"CCComponent");

tolua_usertype(tolua_S,"CCTransitionSlideInR");

tolua_usertype(tolua_S,"CCTransitionMoveInT");

tolua_usertype(tolua_S,"CCLayerGradient");

tolua_usertype(tolua_S,"CCShapeNode");

tolua_usertype(tolua_S,"CCStopGrid");

tolua_usertype(tolua_S,"CCTMXMapInfo");

tolua_usertype(tolua_S,"CCConfiguration");

tolua_usertype(tolua_S,"CCLayerColor");

tolua_usertype(tolua_S,"CCMenuItemFont");

tolua_usertype(tolua_S,"CCTransitionFadeUp");

tolua_usertype(tolua_S,"CCTransitionProgressVertical");

tolua_usertype(tolua_S,"CCAccelerometer");

tolua_usertype(tolua_S,"CCProcessBase");

tolua_usertype(tolua_S,"CCRect");

tolua_usertype(tolua_S,"CCActionInstant");

tolua_usertype(tolua_S,"CCTurnOffTiles");

tolua_usertype(tolua_S,"CCParticleSnow");

tolua_usertype(tolua_S,"CCMenuItemImage");

tolua_usertype(tolua_S,"ccTexParams");

tolua_usertype(tolua_S,"CCEaseSineOut");

tolua_usertype(tolua_S,"CCCallFuncN");

tolua_usertype(tolua_S,"CCTransitionPageTurn");

tolua_usertype(tolua_S,"ccFontDefinition");

tolua_usertype(tolua_S,"ccFontStroke");

tolua_usertype(tolua_S,"CCTintTo");

tolua_usertype(tolua_S,"CCTransitionCrossFade");

tolua_usertype(tolua_S,"CCClippingRegionNode");

tolua_usertype(tolua_S,"CCActionEase");

tolua_usertype(tolua_S,"CCBone");

tolua_usertype(tolua_S,"CCParallaxNode");

tolua_usertype(tolua_S,"CCRotateTo");

tolua_usertype(tolua_S,"CCArmature");

tolua_usertype(tolua_S,"CCBatchNode");

tolua_usertype(tolua_S,"CCMovementBoneData");

tolua_usertype(tolua_S,"CCShakyTiles3D");

tolua_usertype(tolua_S,"CCArmatureDisplayData");

tolua_usertype(tolua_S,"CCNode");

tolua_usertype(tolua_S,"CCArmatureData");

tolua_usertype(tolua_S,"CCArmatureAnimation");

tolua_usertype(tolua_S,"CCSpriteDisplayData");

tolua_usertype(tolua_S,"CCBezierTo");

tolua_usertype(tolua_S,"CCDeccelAmplitude");

tolua_usertype(tolua_S,"CCTweenType");

tolua_usertype(tolua_S,"CCBoneData");

tolua_usertype(tolua_S,"CCTableView");

tolua_usertype(tolua_S,"CCTableViewCell");

tolua_usertype(tolua_S,"CCTransitionProgress");

tolua_usertype(tolua_S,"CCEditBox");

tolua_usertype(tolua_S,"HSV");

tolua_usertype(tolua_S,"CCRotateBy");

tolua_usertype(tolua_S,"CCControlStepper");

tolua_usertype(tolua_S,"CCControlSlider");

tolua_usertype(tolua_S,"CCMoveBy");

tolua_usertype(tolua_S,"CCParticleGalaxy");

tolua_usertype(tolua_S,"CCCamera");

tolua_usertype(tolua_S,"CCSequence");

tolua_usertype(tolua_S,"CCTileMapAtlas");

tolua_usertype(tolua_S,"tCCParticle");

tolua_usertype(tolua_S,"CCCatmullRomBy");

tolua_usertype(tolua_S,"CCHide");

tolua_usertype(tolua_S,"CCControlButton");

tolua_usertype(tolua_S,"CCJumpTiles3D");

tolua_usertype(tolua_S,"CCTransitionJumpZoom");

tolua_usertype(tolua_S,"CCTMXLayer");

tolua_usertype(tolua_S,"CCControl");

tolua_usertype(tolua_S,"AssetsManager");

tolua_usertype(tolua_S,"CCScheduler");

tolua_usertype(tolua_S,"CCDirector");

tolua_usertype(tolua_S,"CCMenuItemToggle");

tolua_usertype(tolua_S,"CCEGLView");

tolua_usertype(tolua_S,"ccBezierConfig");

tolua_usertype(tolua_S,"CCFadeTo");

tolua_usertype(tolua_S,"CCTouchDispatcher");

tolua_usertype(tolua_S,"CCMenuItemAtlasFont");

tolua_usertype(tolua_S,"SEL_MenuHandler");

tolua_usertype(tolua_S,"CCEventDispatcher");

tolua_usertype(tolua_S,"CCParticleSystem");

tolua_usertype(tolua_S,"CCJumpTo");

tolua_usertype(tolua_S,"CCMenu");

tolua_usertype(tolua_S,"ccColor4F");

tolua_usertype(tolua_S,"CCEaseExponentialOut");

tolua_usertype(tolua_S,"CCSet");

tolua_usertype(tolua_S,"CCCallFunc");

tolua_usertype(tolua_S,"CCLabelAtlas");

tolua_usertype(tolua_S,"CCLabelBMFont");

tolua_usertype(tolua_S,"CCEaseBounceIn");

tolua_usertype(tolua_S,"CCPlace");

tolua_usertype(tolua_S,"CCSprite");

tolua_usertype(tolua_S,"CCFileUtils");

tolua_usertype(tolua_S,"CCLayer");

tolua_usertype(tolua_S,"CCTransitionSplitCols");

tolua_usertype(tolua_S,"CCPageTurn3D");

tolua_usertype(tolua_S,"CCEaseIn");

tolua_usertype(tolua_S,"CCTransitionProgressRadialCW");

tolua_usertype(tolua_S,"CCEaseElastic");

tolua_usertype(tolua_S,"CCTransitionProgressRadialCCW");

tolua_usertype(tolua_S,"CCEaseOut");

tolua_usertype(tolua_S,"CCBezierBy");

tolua_usertype(tolua_S,"CCScrollView");

tolua_usertype(tolua_S,"CCUserDefault");

tolua_usertype(tolua_S,"CCProgressTimer");

tolua_usertype(tolua_S,"CCDictionary");

tolua_usertype(tolua_S,"CCParticleFire");

tolua_usertype(tolua_S,"CCTransitionFlipY");

tolua_usertype(tolua_S,"CCTMXLayerInfo");

tolua_usertype(tolua_S,"CCTransitionFadeBL");

tolua_usertype(tolua_S,"CCShuffleTiles");

tolua_usertype(tolua_S,"CCTransitionSlideInL");

tolua_usertype(tolua_S,"CCRipple3D");

tolua_usertype(tolua_S,"CCRepeat");

tolua_usertype(tolua_S,"CCClippingNode");

tolua_usertype(tolua_S,"CCTransitionProgressInOut");

tolua_usertype(tolua_S,"CCParticleSpiral");

tolua_usertype(tolua_S,"CCTransitionZoomFlipY");

tolua_usertype(tolua_S,"CCEaseBounceInOut");

tolua_usertype(tolua_S,"CCTransitionZoomFlipX");

tolua_usertype(tolua_S,"CCTransitionFlipX");

tolua_usertype(tolua_S,"CCSpawn");

tolua_usertype(tolua_S,"CCTransitionRotoZoom");

tolua_usertype(tolua_S,"CCEaseInOut");

tolua_usertype(tolua_S,"CCShatteredTiles3D");

tolua_usertype(tolua_S,"CCAccelAmplitude");

tolua_usertype(tolua_S,"CCParticleSmoke");

tolua_usertype(tolua_S,"CCTMXObjectGroup");

tolua_usertype(tolua_S,"CCFadeOut");

tolua_usertype(tolua_S,"CCLayerMultiplex");

tolua_usertype(tolua_S,"CCControlPotentiometer");

tolua_usertype(tolua_S,"CCParticleExplosion");

tolua_usertype(tolua_S,"CCGLProgram");

tolua_usertype(tolua_S,"CCMenuItem");

tolua_usertype(tolua_S,"ccColor4B");

tolua_usertype(tolua_S,"CCFlipX3D");

tolua_usertype(tolua_S,"CCSplitRows");

tolua_usertype(tolua_S,"CCArray");

tolua_usertype(tolua_S,"CCReverseTime");

tolua_usertype(tolua_S,"CCSkewTo");

tolua_usertype(tolua_S,"CCParticleBatchNode");

tolua_usertype(tolua_S,"CCGraySprite");

tolua_usertype(tolua_S,"CCAnimation");

tolua_usertype(tolua_S,"CCRepeatForever");

tolua_usertype(tolua_S,"CCTime");

tolua_usertype(tolua_S,"CCAction");

tolua_usertype(tolua_S,"CCTextFieldTTF");

tolua_usertype(tolua_S,"CCTextureAtlas");

tolua_usertype(tolua_S,"CCScaleBy");

tolua_usertype(tolua_S,"CCEaseElasticInOut");

tolua_usertype(tolua_S,"CCSplitCols");

tolua_usertype(tolua_S,"CCEaseBounceOut");

tolua_usertype(tolua_S,"CCAnimationFrame");

tolua_usertype(tolua_S,"CCControlSwitch");

}

拿CCLabelTTF举例,你在里面搜便可以明白了。第一个参数先不用管,第二个是CCLabelTTF在调用的方法名,第三个参数便是这个文件中定义的方法,你找到一看便会明白了。

#ifdef __cplusplus

tolua_cclass(tolua_S,"CCLabelTTF","CCLabelTTF","CCSprite",tolua_collect_CCLabelTTF);

#else

tolua_cclass(tolua_S,"CCLabelTTF","CCLabelTTF","CCSprite",NULL);

#endif

tolua_beginmodule(tolua_S,"CCLabelTTF");

tolua_function(tolua_S,"new",tolua_Cocos2d_CCLabelTTF_new00);

tolua_function(tolua_S,"new_local",tolua_Cocos2d_CCLabelTTF_new00_local);

tolua_function(tolua_S,".call",tolua_Cocos2d_CCLabelTTF_new00_local);

tolua_function(tolua_S,"delete",tolua_Cocos2d_CCLabelTTF_delete00);

tolua_function(tolua_S,"create",tolua_Cocos2d_CCLabelTTF_create00);

tolua_function(tolua_S,"create",tolua_Cocos2d_CCLabelTTF_create01);

tolua_function(tolua_S,"create",tolua_Cocos2d_CCLabelTTF_create02);

tolua_function(tolua_S,"create",tolua_Cocos2d_CCLabelTTF_create03);

tolua_function(tolua_S,"initWithString",tolua_Cocos2d_CCLabelTTF_initWithString00);

tolua_function(tolua_S,"initWithString",tolua_Cocos2d_CCLabelTTF_initWithString01);

tolua_function(tolua_S,"initWithString",tolua_Cocos2d_CCLabelTTF_initWithString02);

tolua_function(tolua_S,"initWithStringAndTextDefinition",tolua_Cocos2d_CCLabelTTF_initWithStringAndTextDefinition00);

tolua_function(tolua_S,"init",tolua_Cocos2d_CCLabelTTF_init00);

tolua_function(tolua_S,"setTextDefinition",tolua_Cocos2d_CCLabelTTF_setTextDefinition00);

tolua_function(tolua_S,"getTextDefinition",tolua_Cocos2d_CCLabelTTF_getTextDefinition00);

tolua_function(tolua_S,"enableShadow",tolua_Cocos2d_CCLabelTTF_enableShadow00);

tolua_function(tolua_S,"disableShadow",tolua_Cocos2d_CCLabelTTF_disableShadow00);

tolua_function(tolua_S,"enableStroke",tolua_Cocos2d_CCLabelTTF_enableStroke00);

tolua_function(tolua_S,"disableStroke",tolua_Cocos2d_CCLabelTTF_disableStroke00);

tolua_function(tolua_S,"setFontFillColor",tolua_Cocos2d_CCLabelTTF_setFontFillColor00);

tolua_function(tolua_S,"setString",tolua_Cocos2d_CCLabelTTF_setString00);

tolua_function(tolua_S,"getString",tolua_Cocos2d_CCLabelTTF_getString00);

tolua_function(tolua_S,"getHorizontalAlignment",tolua_Cocos2d_CCLabelTTF_getHorizontalAlignment00);

tolua_function(tolua_S,"setHorizontalAlignment",tolua_Cocos2d_CCLabelTTF_setHorizontalAlignment00);

tolua_function(tolua_S,"getVerticalAlignment",tolua_Cocos2d_CCLabelTTF_getVerticalAlignment00);

tolua_function(tolua_S,"setVerticalAlignment",tolua_Cocos2d_CCLabelTTF_setVerticalAlignment00);

​tolua_function(tolua_S,"getDimensions",tolua_Cocos2d_CCLabelTTF_getDimensions00);

tolua_function(tolua_S,"setDimensions",tolua_Cocos2d_CCLabelTTF_setDimensions00);

tolua_function(tolua_S,"getFontSize",tolua_Cocos2d_CCLabelTTF_getFontSize00);

tolua_function(tolua_S,"setFontSize",tolua_Cocos2d_CCLabelTTF_setFontSize00);

tolua_function(tolua_S,"getFontName",tolua_Cocos2d_CCLabelTTF_getFontName00);

tolua_function(tolua_S,"setFontName",tolua_Cocos2d_CCLabelTTF_setFontName00);

tolua_endmodule(tolua_S);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,999评论 4 368
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,102评论 1 302
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 110,709评论 0 250
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,439评论 0 217
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,846评论 3 294
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,881评论 1 224
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,062评论 2 317
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,783评论 0 205
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,517评论 1 248
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,762评论 2 253
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,241评论 1 264
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,568评论 3 260
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,236评论 3 241
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,145评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,941评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,965评论 2 283
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,802评论 2 275

推荐阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,217评论 0 17
  • 标签(空格分隔): tolua++技术分析 cocos2dx+lua 前言 一直都使用 cocos2dx + lu...
    芒果有点甜阅读 2,804评论 0 2
  • 1.1程序块:Lua执行的每段代码,例如一个源代码文件或者交互模式中输入的一行代码,都称为一个程序块 1.2注释:...
    c_xiaoqiang阅读 2,572评论 0 9
  • 第一篇 语言 第0章 序言 Lua仅让你用少量的代码解决关键问题。 Lua所提供的机制是C不擅长的:高级语言,动态...
    testfor阅读 2,566评论 1 7
  • 盛夏初生 激荡着朦胧情愫 微风十里 都不及你的暖 欲做矜持 待你撩而动你心 始料未及 有着不可抗拒的魅力 花儿开在...
    记得Zhu阅读 245评论 3 1