记录cocos2dx学习中的笔记

记录cocos2dx学习中的笔记,第1张

概述1.解决使用extensions库编译问题 (1)首先在工程解决方案中右键->属性->add existing project->到目录..../cocosed/extensions/proj.win32/libExtensions.vcxproj   (2) 在自己建的project添加新引用,属性->common properities->add new reference.....   (3

1.解决使用extensions库编译问题

(1)首先在工程解决方案中右键->属性->add existing project->到目录..../cocosed/extensions/proj.win32/libExtensions.vcxproj

(2) 在自己建的project添加新引用,属性->common properitIEs->add new reference.....

(3)在自己建的project 属性->Configuration propertIEs->C/C++->Additional Include Directires->add "$(EngineRoot)"

2.引入库后,加一个按钮代码段如下

#include"cocos-ext.h"using namespace cocos2d::extension;
<span >	</span>auto* nine = Scale9Sprite::create("Closenormal.png");	auto* ninedown = Scale9Sprite::create("CloseSelected.png");	Label *Title = Label::create("touch me!","Marker Felt",30);	auto* ctlbtn = Controlbutton::create(Title,nine);	ctlbtn->setBackgroundSpriteForState(ninedown,Control::State::HIGH_liGHTED);	ctlbtn->setposition(Point(200,200));	this->addChild(ctlbtn);

3.CocoStudio UI 编辑器

(1)在画布加载好控件后,直接Ctrl+E 导出画布,把export中的三个文件放到工程的resource目录下。

(2)导入libCocosstudio.vcxproj 和libGui.vcxproj库,加"$(EngineRoot)\cocos\editor-support",$(EngineRoot)\cocos,$(EngineRoot).

(3)代码注意加的片段

#include"editor-support\cocostudio\CCSGUIReader.h"#include"ui\CocosGUI.h"using namespace cocos2d::ui;using namespace cocostudio;
	auto UI = cocostudio::GUIReader::getInstance()->WidgetFromJsonfile("ForLearning_1.ExportJson");	UI->setposition(Point(200,200));	this->addChild(UI);

4.Cocos2dx添加有米广告

(1)把有米SDK 里面YoumiSdk_v4.10_2014-09-25.jar加进eclipse的lib目录下

(2)Coco2dx 加广告,需要通过JNI来调用java端的方法

java端代码如下

public class AppActivity extends Cocos2dxActivity {	  	public static AppActivity youmiads ;  	    protected voID onCreate(Bundle savedInstanceState){  	        super.onCreate(savedInstanceState); 	        			/*start:有米广告代码*/	        youmiads = this;  	        //最后的 boolean 值为是否开启测试模式,true 为是,false 为否。(上传有米审核及发布到市场版本,请设置为 false)  	        AdManager.getInstance(this).init("xxxxxxxxx","xxxxxxxxxxxxx",false);  			FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.FILL_PARENT,FrameLayout.LayoutParams.WRAP_CONTENT);			layoutParams.gravity = Gravity.BottOM | Gravity.RIGHT;			AdVIEw adVIEw = new AdVIEw(this,AdSize.FIT_SCREEN);			this.addContentVIEw(adVIEw,layoutParams);			adVIEw.setAdListener(new AdVIEwListener() {				@OverrIDe				public voID onSwitchedAd(AdVIEw arg0) {					Log.d("AppActivity","onSwitchedAd");				}				@OverrIDe				public voID onReceivedAd(AdVIEw arg0) {					Log.d("AppActivity","onReceivedAd");				}				@OverrIDe				public voID onFailedToReceivedAd(AdVIEw arg0) {					Log.d("AppActivity","onFailedToReceivedAd");				}			}); 	          	        SpotManager.getInstance(this).loadSpotAds();  	        //设置展示超时时间,加载超时则不展示广告,默认0,代表不设置超时时间  	        SpotManager.getInstance(this).setSpottimeout(5000);// 设置5秒  	        SpotManager.getInstance(this).setShowInterval(20);// 设置20秒的显示时间间隔     	        /*end:有米广告代码*/	    }  		    public static Object getActivity(){  	        System.out.println("object");  	        return youmiads;  	    }  	      	    public voID showAds(){  	    	Log.d("AppActivity","show ads");			/*start:有米广告*.*/			SpotManager.getInstance(this).showSpotAds(					this,new SpotDialogListener() {						@OverrIDe						public voID onShowSuccess() {							Log.d("AppActivity","onShowSuccess");						}						@OverrIDe						public voID onShowFailed() {							Log.d("AppActivity","onShowFailed");						}						@OverrIDe						public voID onSpotClosed() {							Log.e("AppActivity","onSpotClosed");						}					});			//end:有米广告*/	        //SpotManager.getInstance(this).showSpotAds(this);  	    }  	      	    public voID missionads(){  	        SpotManager.getInstance(this).disMiss(true);  	    }  	    @OverrIDe  	    protected voID onStop(){  	        SpotManager.getInstance(this).disMiss(true);	        super.onStop();   	    }  }

(3) cocos2dx端C++代码调用
#if(CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)#include<jni.h>#include"platform/androID/jni/JniHelper.h"#define CLASS_name "org.cocos2dx.cpp.AppActivity"#define DEBUG 1#endifvoID AppDelegate::showAds(){#if(CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)		JniMethodInfo minfo;		bool isHava;#ifdef DEBUG{	isHava = JniHelper::getStaticmethodInfo(minfo,"org.cocos2dx.cpp.AppActivity","getJavaActivity","()Ljava/lang/object");	jobject activityObj;	if(isHava)	{		activityObj = minfo.env->CallStaticObjectMethod(minfo.classID,minfo.methodID);	}	isHava = JniHelper::getmethodInfo(minfo,"showAds","()V");	if(isHava)	{		minfo.env->CallVoIDMethod(minfo.classID,minfo.methodID);	}}#endif#endif}
总结

以上是内存溢出为你收集整理的记录cocos2dx学习中的笔记全部内容,希望文章能够帮你解决记录cocos2dx学习中的笔记所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1008678.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存