zoukankan      html  css  js  c++  java
  • cocos2dx项目中新增场景类

    从0開始创建一个cocos2dx项目然后执行是能够的,可是假设我们要自己来创建属于自己的场景类呢?
    理论永远仅仅是停留在理论,实践过后才知道问题并非那么简单:
    初步尝试:
    1.在项目project中的classes目录中右击-加入-新建项--,然后開始写类代码;
    2.在逻辑类中引用的时候就出问题了,就是#include"LoadingLayer.h",会提示找不到?
    3.经过跟网络高手聊过之后才知道,默认创建的类路径实在sln默认路径下。而vs的项目却不能简单的include;
    解决方法:
    A.类路径有问题。能够手动设置下include path。
    B.把新加入的默认sln文件夹下的源代码文件手动复制到对应项目的Classes下(include默认引用文件夹);
    last,.将vsproject中的新加入代码文件删掉,再又一次add进来,恢复正常。
    进入图解模式:
    1.导入时出错提示

    2.查看新增文件的路径(在cocos的默认路径--sln路径--非CLasses路径)


    3.手动将新增源代码文件copy到对应项目project的Classes路径


    4.project中先把源文件删掉。再右击Classes-add-现有项-找到Classes路径--加入新增文件


    5.回头查看引用新增文件的地方,路径有效,无错误提示


    cocos2dx正式开搞了呵、


    编译过程问题复现:
    1.win32能够正常编译显示。交叉编译不行:
    提示 error: undefined reference to 'LoadingLayer::scenc e()'
    意思就是说交叉编译的时候没有引用到这个类;
    那么我们要进入到androidproject中的Android.mk文件看下到底:在LOCAL_SRC_FILES后面加入一行
        ../../Classes/LoadingLayer.cpp  记得在上一行后面加上反斜杠---->" "
    再次进入到cygwin中,找到对应Android文件夹,赋予权限,然后再./build_native.sh;
    http://stackoverflow.com/questions/12125248/trying-to-switch-scenes-in-cocos2d-x-undefined-reference-to-diffmenuscene
    2.当一切就绪,.so已经生成的前提下,在eclipse控制台中编译会出现例如以下错误提示:
    Unable to add 'D:series_cocos2d-xcocos2d-x-2.2.1cocos2d-x-2.2.1projectsLoveHongproj.androidassetsCloseNormal.png': Zip add failed
     ERROR: unable to process assets while packaging 'D:series_cocos2d-xcocos2d-x-2.2.1cocos2d-x-2.2.1projectsLoveHongproj.androidin esources.ap_'
    [2014-04-23 13:04:12 - LoveHong] ERROR: packaging of 'D:series_cocos2d-xcocos2d-x-2.2.1cocos2d-x-2.2.1projectsLoveHongproj.androidin esources.ap_' failed

    假设出现上述错误。这样解决:
    在cygwin窗体中,cd assets 。 chmod -R 777 *  【备用招数cd ..;  ./build_native.sh】
    刷新eclipse中要编译的project。【假设出现故障,以上步骤多试几次】
    3.跑在真机上没啥问题。在模拟器中会有例如以下错误提示:
    .......: No configs match configSpec
    ...
    Emulator without GPU emulation detected.
    说明开启的模拟器没有开启GPU支持----打开模拟器管理界面--选中自己要启动的模拟器--edit--choose Use Host GPU
    假设你是用genymotion来作为模拟器,须要安装一个插件Genymotion-ARM-Translation;(自行检索)
    由于geny是x86架构,非ARM架构,所以跑起来飞快;那么要安装一个可以转换成ARM架构的插件才可以完美执行;




  • 相关阅读:
    一些简单的逻辑题
    3种数据类型之间的转换
    搭建selenium + Python环境的总结:
    杂记
    Eclemma的安装
    LR----实现WebService测试
    LR--实现HTTP协议的接口测试
    Loadrunner---解决乱码问题
    selenium常用API实例
    JMeter中响应数据显示乱码问题解决
  • 原文地址:https://www.cnblogs.com/wgwyanfs/p/7065524.html
Copyright © 2011-2022 走看看