【Cocos2d-x for WP8 学习整理】(2)Cocos2d-Html5 游戏 《Fruit Attack》 WP8移植版 开源...

【Cocos2d-x for WP8 学习整理】(2)Cocos2d-Html5 游戏 《Fruit Attack》 WP8移植版 开源
原文:【Cocos2d-x for WP8 学习整理】(2)Cocos2d-Html5 游戏 《Fruit Attack》 WP8移植版 开源

这一阵花了些时间,把 cocos2d-html5 里的sample 游戏《Fruit Attack》给移植到了WP8上来,目前已经实现了基本的功能,但是还有几个已知的bug,比如WP8只支持WAV格式

的音乐,而我没有去转格式, 所以无法播放声音; 提示手势的显示位置有问题;源代码的执行效率过低等,但是对于初级的学习应该还是有一定参考意义的,我也加入了自己的一部分注释。

应该说移植的过程还是比较顺利的,毕竟API都是兼容的。但是因为原游戏并不是多分辨率适配的,图片等资源都不是太合适,再加上缺乏经验,中间还是略有曲折的,至于到底这个东西有

多少价值,就看能不能给各位以帮助了,否则只能当我自己熟悉一下API了 :) 

 

移植的步骤如下: 

一、创建一个新项目 :

这个我前一篇文章里有说过,但是有个哥们 qq 问我,关于资源和新项目引用的问题, 我在这里也简单描述一下。

一个普通的项目结构会如下图所示,资源都会放在 Resources 文件夹里,而类文件都会放在 Classes 里。

 

 

而WP8的项目有自己的资源管理结构,默认的在 项目名.wp8 下的 assets/ resourses 文件夹下,将需要添加的资源拷贝到这个文件夹下,然后 include in project, 这里需要注意的是除了图片之外的其他资源,需要手动设置编译类型为Content,

 否则会无法正常读取。

  

二、引用其他库

假如我们要播放声音,那么就会用到cocosdenshion, 默认的新项目是没有添加的,需要手动添加。

首先,在解决方案下右击,添加现有项目-》定位到 cocos2d-x-2.2.0\CocosDenshion\proj.wp8 ,选择  CocosDenshion.vcxproj 添加,这样解决方案下就多了这个项目,

然后,在主项目 右击 -> 属性, 勾选cocosDenshion

 

最后,定位到 配置属性->C/C++ ->常规, 然后选择 "附加包含目录" ,  编辑 ,添加: $(ProjectDir)..\..\..\CocosDenshion\include

这样一个库就被添加进来了。 


最后附上源码地址:

https://github.com/jeekun/FruitAttack_WP8

 

效果截图:



 

欢迎有兴趣的童鞋加入Cocos2d-x 开发群  qq: 264152376

 

 

posted on 2014-02-28 13:20 NET未来之路 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/3573410.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/408076.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

react学习(64)--简单的锚点封装

render() {const {anchors [], //锚点数组&#xff0c;link-节点id&#xff0c;title-显示文字content, //左侧内容} this.props;return (<div style{{ display: flex }}><div style{{ flex: 9, overflow: hidden }}>{content || this.props.children}</div&g…

碰撞,处理碰撞,发射 Learn Unreal Engine (with C++)

本文使用打砖块游戏举例 碰撞,处理碰撞 碰撞就相当于一个Actor进入另一个Box中,用这个思路就可以处理碰撞了 OnComponentBeginOverlap 当某些内容开始重叠此组件时调用的事件&#xff0c;例如玩家进入触发器。 **委托 事件 **1 AddDynamic( UserObject, FuncName ) 用于…

在Solaris系统下如何更改网络配置?

修改/etc/hostname.qfe0 >附檔名,依照網卡種類不同,有不同的名稱再依照上述檔案內容,再去查看/etc/hosts中相對應的名稱,並修改IP转载于:https://blog.51cto.com/youjianhello/12461

react学习(65)--ant design加载中

import { Spin } from antd;ReactDOM.render(<Spin />, mountNode);

传送,条件加速 Learn Unreal Engine (with C++)

本文以吃豆人游戏为例UE4项目: 自制UE4 小游戏 (gitee.com) 传送 pawn进入box触发OnActorBeginOverlap获取目标位置,下一帧将pawn坐标更改为目标位置 首先需要重叠函数与开始重叠事件绑定 OnActorBeginOverlap.AddDynamic(this, &ATeleporterActor::OnOverlapBegin);头文件…

ADSL路由器的设置

关于将ADSL 路由器的设置&#xff0c;其实ADSL 路由器的设置并不是很难&#xff0c;以TL-R4XX系列路由器为例&#xff0c;简要说明ADSL 路由器的设置&#xff0c;首先MODEM、路由器、电脑连结起来&#xff0c;网络必需畅通&#xff0c;ADSL 路由器地址出厂默认IP地址&#xff1…

web.xml中 Log4jConfigListener配置

使用Log4jConfigListener有如如下好处&#xff1a; 1. 动态的改变记录级别和策略&#xff0c;不需要重启Web应用&#xff0c;如《Effective Enterprise Java》所说。 2. 把log文件定在 /WEB-INF/logs/ 而不需要写绝对路径。 因为 系统把web目录的路径压入一个叫webapp.ro…

获取摄像机,摄像机切换Learn Unreal Engine (with C++)

摄像机应该是使用最普遍的组件了 获取摄像机,摄像机切换 新建C类(以CameraActor为父类) 将摄像机在地图中放置 头文件声明 virtual void BeginPlay() override;UPROPERTY(EditAnywhere, BlueprintReadWrite)UBoxComponent* OverlapVolume; // 盒体组件,用于检测人物碰撞UPR…

BIOS详情设置续一

高级芯片组特征Configure DRAM Timing&#xff08;设置内存时钟&#xff09;  此设置决定DRAM 的时钟设置是否由读取内存模组上的SPD&#xff08;Serial PresenceDetect&#xff09;EPROM 内容决定。设置为By SPD允许内存时钟根据SPD的设置由BIOS自动决定配置&#xff1b;设置…

android报错及解决1--Bitmap加载时,报bitmap size exceeds VM budget

报错描述&#xff1a; 用Bitmap加载图片资源时&#xff0c;报错java.lang.OutOfMemoryError: bitmap size exceeds VM budget 原因分析&#xff1a; android系统限制&#xff0c;只给图片分配8M内存&#xff0c;超过就蹦。图片虽然几十K&#xff0c;可能是压缩格式&#xff0c;…

react学习(67)--git 屏蔽文件不被追踪

bash # 屏蔽文件不被 git 追踪 git update-index --assume-unchanged [FILE]# 如果要还原的话&#xff0c;使用命令&#xff1a; git update-index --no-assume-unchanged [FILE]

华三1822-24路由交换机配置例子

华三1822-24路由交换机配置例子#sysname Quidway#super password level 3 cipher xxxxxxx#FTP server enable#web set-package force flash:/http.zip#radius scheme system#domain system #local-user dgbg_adminpassword cipher xxxxxxxservice-type telnet terminal#dhcp se…

什么是 AJAX, what is AJAX(一)

AJAX全稱為「Asynchronous JavaScript and XML」&#xff08;非同步JavaScript和XML&#xff09;&#xff0c;是一種創建互動式網頁應用的網頁開發技術。它使用&#xff1a; 使用XHTMLCSS來表示信息&#xff1b; 使用JavaScript操作DOM Document Object Model進行動態顯示及交互…

主角的创建与选择 Learn Unreal Engine (with C++)

主角创建有两种方式,本教程以SpaceshipBattle fanxingin/UE4项目 - 码云 - 开源中国 (gitee.com) 1. 新建游戏模式方式 新建一个蓝图类,选择游戏模式基础 在蓝图类的细节中将默认pawn类选择主角的蓝图类 在项目设置->地图和模式->默认模式->默认游戏模式 默认游…

单例模式的两种方法

public class MySingleton { private static object myLock new object(); private static volatile MySingleton mySingleton null; private MySingleton() { } public static MySingleton GetInstance() { if (mySingleton null) { //第一次检查 lock (myLock) { if (mySi…

SQL View 的使用语法与原则

1.View只是存储下来的sql 语句Views are nothing but saved SQL statements, and are sometimes referred as “Virtual Tables”. Keep in mind that Views cannot store data (except for Indexed Views); rather they only refer to data present in tables.2.create a vie…

What is AJAX?(转)(二)

关键词&#xff1a; ajax Asynchronous JavaScript Xml 目录 什么是AJAX&#xff1f; 第一步&#xff1a;如何发出一个HTTP请求 第二步&#xff1a;处理服务器的响应 第三步&#xff1a;一个简单的例子 第四步&#xf…

react学习(68)--ant design inputNumber

<InputNumber min{0} style{{ width: 100 }} onPressEnter{this.handleSearch} />

控制`Actor`朝向,运动 Learn Unreal Engine (with C++)

控制Actor的朝向,以及Actor的运动 SpaceshipBattle fanxingin/UE4项目 - 码云 - 开源中国 (gitee.com) 控制Actor朝向鼠标 设置鼠标在游戏中可见 获取玩家控制器鼠标可见设置为true PC Cast<APlayerController>(GetController()); PC->bShowMouseCursor true;获取…