cocos html5 一直在加载失败,项目进行中的小问题-0426-【Cocos2d-html5】初识Cocos2d-html5-一些移动端浏览器的兼容性Bug_169IT.COM...

背景与前言

现在什么技术火?Android,ios,HTML5,人工智能,云计算……如此多的技术,而且发展非常快,大家都很迷茫,到底要学什么呢?我也很迷茫,只能走一步算一步。

但是人总是有理想的是吧。我的理想很简单:一步步实现我的下一个理想。大一的时候,我看了一部电影,叫《社交网络》,那时的理想就是让学校找我写代码。现在大三了,实现了这个理想,给我配了电脑,配了办公室。下一个理想,做出一番事业,然后去母校演讲。

做为一个男性,本能里应该对游戏感兴趣。我也很想写一个自己的游戏,想想,走进网吧,大家玩的都是你写的游戏,很有成就感。

再学习了android的cocos2d-x之后,又来研究了一下html5的版本,因为这个版本是有专人维护的,所以以后也不用担心更新问题。

从哪开始?

很多人学一个技术的时候根本不知道从哪里上手,确实,一个技术最难的应该就是入门了,只要入了门,多花点时间很容易就能掌握,这也正是中国的那句古话:师父领进门,修行在个人。

废话了这么多,cocos2d-html5(以后简称cocos2d吧)怎么入门呢?首先可以看官网(http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Cocos2d-html5),他有一个名叫Getting Started with Cocos2d-html5的文章。一般有一定规模的技术或项目都有这么一个文档,教你怎么快速的上手,那是不是照着这篇文章做就行了呢?在我写这篇日志的时候,那篇文章的教程是一个过时的教程,也就是说看那篇文章是没用的。(一般的项目是可以从这入门的。)

虽然教程过时了,但是它还是给我们指明了一个方向,那就是去看Hello World项目。

Hello World

我认为好的程序员应该养成这样一个习惯:学习新技术或者开发的时候,从hello world开始。

我们下载cocos2d的包,解压之后可以看到一个叫做HelloHTML5World的文件。这里面也就是我们第一个要研究的代码了。

这个项目不需要服务器容器,直接打开index.html就能看到效果。效果其实很简单,但是哪个游戏不是通过一系列的简单效果组成的呢?好了,直接看代码吧。

我们首先要看的是main.js,为什么首先看这个我后面会说的。

它定义了一个cocos2dApp,调用了cc.Application.extend()方法。如果有一定基础的人应该知道extend的意思,也就是继承。这个cocos2dApp继承了cc.Application,关于这个类我们也不多说,用的一般不多,基本只要用到一个方法applicationDidFinishLaunching。看名字就知道,这个方法是在程序加载完成的时候调用的。

在这个方法上面还有一个ctor方法,大家可以猜猜这个方法的作用,对了,就是构造函数。

好了,我们来一步步的解析代码吧。

首先是ctor,构造函数中传进来一个scene,这个scene我们后面就会看到。第一步就是调用父类构造函数,这个是需要注意的,很多错误就是没调用父类的构造函数造成的。下面的代码是一系列的配置,先配置了DEBUG的模式,它是从this.config里取出来的,那这个config是从哪里来的呢?我们会注意到,HelloHTML5World文件夹下还有一个cocos2d.js。这个文件就是配置文件了。继续往下,我们就直接看注释吧。

1 cc.initDebugSetting();//初始化debug设置

2 cc.setup(this.config['tag']);//装载页面上的canvas,这个tag就是canvas的id

3 //当程序资源在读取的时候,显示加载动画

4 cc.Loader.getInstance().onloading = function () {

5 cc.LoaderScene.getInstance().draw();

6 };

7 //加载完了之后,调用下面的方法(实际是调用的run方法)

8 cc.Loader.getInstance().onload = function () {

9 cc.AppController.shareAppController().didFinishLaunchingWithOptions();

10 };

11 //提前加载资源

12 cc.Loader.getInstance().preload(g_ressources);

13 再看applicationDidFinishLaunching:

14 // 获得导演

15 var director = cc.Director.getInstance();

16 // 设置是否显示FPS

17 director.setDisplayStats(this.config['showFPS']);

18 // 设置帧率

19 director.setAnimationInterval(1.0 /

[3]一些移动端浏览器的兼容性Bug

来源:  发布时间: 2013-11-22

做移动端的Web也有一段时间了,踩过的坑真心不少。

下面列出一些,移动端浏览器兼容性的Bug,供大家参考。

【UC浏览器】video标签脱离文档流

场景:标签的父元素(祖辈元素)设置transform样式后,标签会脱离文档流。

测试环境:UC浏览器 8.7/8.6 + Android 2.3/4.0 。

Demo:http://t.cn/zj3xiyu

解决方案:不使用transform属性。translate用top、margin等属性替代。

【UC浏览器】video标签总在最前

场景:标签总是在最前(可以理解为video标签的z-index属性是Max)。

测试环境:UC浏览器 8.7/8.6 + Android 2.3/4.0 。

【UC浏览器】position:fixed 属性在UC浏览器的奇葩现象

场景:设置了position: fixed 的元素会遮挡z-index值更高的同辈元素。

在8.6的版本,这个情况直接出现。

在8.7之后的版本,当同辈元素的height大于713这个「神奇」的数值时,才会被遮挡。

测试环境:UC浏览器 8.8_beta/8.7/8.6 + Android 2.3/4.0 。

Demo:http://t.cn/zYLTSg6

【QQ手机浏览器】不支持HttpOnly

场景:带有HttpOnly属性的Cookie,在QQ手机浏览器版本从4.0开始失效。JavaScript可以直接读取设置了HttpOnly的Cookie值。

测试环境:QQ手机浏览器 4.0/4.1/4.2 + Android 4.0 。

【MIUI原生浏览器】浏览器地址栏hash不改变

场景:location.hash 被赋值后,地址栏的地址不会改变。

但实际上 location.href 已经更新了,通过JavaScript可以顺利获取到更新后的地址。

虽然不影响正常访问,但用户无法将访问过程中改变hash后的地址存为书签。

测试环境:MIUI 4.0

【Chrome Mobile】fixed元素无法点击

场景:父元素设置position: fixed;

子元素设置position: absolute;

此时,如果父元素/子元素还设置了overflow: hidden 则出现“父元素遮挡该子元素“的bug。

视觉(view)层并没有出现遮挡,只是无法触发绑定在该子元素上的事件。可理解为:「看到点不到」。

补充: 页面往下滚动,触发position: fixed;的特性时,才会出现这个bug,在最顶不会出现。

测试平台: 小米1S,Android4.0的Chrome18

demo: http://maplejan.sinaapp.com/demo/fixed_chromemobile.html

解决办法: 把父元素和子元素的overflow: hidden去掉。

———— 先这样吧,应该会持续更新的  ————

本文链接:http://www.cnblogs.com/maplejan/archive/2013/04/26/3045928.html

作者:Maple Jan

本文链接

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

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

相关文章

software engineering homework, product analysis

我们往往抱怨年轻人做的不够好, 其实如果你给他们鼓励, 告诉他们你的期望, 他们往往能做到, 甚至做得更好, 软件工程课的作业: http://sinaurl.cn/ht4qWO http://sinaurl.cn/htdEUX http://sinaurl.cn/hbeWBI http://sinaurl.cn/ht4C7z http://sinaurl.cn/htBRbm

html设置了标签但是定义不了,在HTML标签管理器中设置不带元素ID的HTML中的事件...

这取决于你想要采取的路线。但是,无论路线如何,您绝对需要标识表单和/或提交按钮的内容。它不需要是一个ID,但它是理想的,如果有一个唯一的包装类或ID。您可以跟踪点击提交按钮,但是,您的号码不会完全准确。…

软件工程 之 动物世界

在一个神奇的国度里生活着许多动物, 其中有猪, 鸡, 和鹦鹉。 它们每天搞头脑风暴, 琢磨如何创业, 最后鹦鹉提议它们合伙开一个早餐店: 具体分工如下: 猪: 提供猪肉, 做熏猪肉 (bacon) 鸡: 提供鸡蛋, 做煎蛋 鹦鹉: 提供咨询, 它会每天阅读大量博客, 给其他团队成员提供建议, …

计算机应用基础教材6,全国2013年自考《计算机应用基础》教材大纲第六章

第 6 章 计算机网络基础知识(一)课程内容第 1 节 计算机网络基本概述第 2 节 因特网(Internet)及其应用第 3 节 用IE浏览网页第 4 节 电子邮件的使用第 5 节 计算机网络的安全(二)学习目的与要求通过本章学习,了解计算机网络的一些基础知识;熟悉因…

现代软件工程 电梯调度的挑战

目录 2022 年对 《开源软件开发导论》项目的要求 以前的需求文档 电梯作业的挑战和参考 1. Background - pair programming exercise 2. Requirement to Student pairs 2.5 Explanation of BUS program: 3. Testing 参考文献 2022 年对 《开源软件开发导论》项目的要求…

美国大学计算机专业排名2014,2014年美国大学本科计算机专业排名

下面是最新发布的2013年美国大学本科排名的相关信息,包括了进入榜单所有学校的相关信息。USNews美国大学排名是最具权威性的大学排名之一,下面我们一起来看看美国大学本科排名的信息吧。1 Massachusetts Institute of Technology麻省理工学院2 Carnegie …

我的原创,思考写作时间在1小时以上,希望读者有真正收获的博客

[今天注意到博客园信箱里有几封信, 其中一封是这个] 原来我的原创,思考写作时间在1小时以上,希望读者有真正收获的博客被认为是不符合要求, 从首页上移出了。 这让我在写这篇博客的时候看了表, 保证思考时间超过了一个小时, 然后才发表。 这是一些读者的…

计算机网络教室任课教师登记表,多媒体教室工作计划

在本学期,我校将以提高教师应用技能为中心,采取各种方法,着力建设信息技术教育师资队伍和管理队伍;以信息网络建设为枢纽,充分利用信息网络资源,服务于教学;以课堂整合模式改革为突破&#xff0…

软件工程 软件工程师的誓言

有人说 程序 算法 数据结构 有人说 软件 程序 软件工程, 软件企业 软件 商业模式。 程序本身没有伦理和职业道德, 但是程序员和软件企业要有。 我们听说过很多例子: 一个在银行工作的程序员曾说, 每次给客户计算利息的时候那些除不尽的小数, 如果程序自动转给我的账…

计算机专业性特有的道德要求,什么是通信科学技术人员职业道德的双重性?

做人素质/道德底线/正反例举计算机专业人员的职业道德和行为准则计算机职业作为一种不同于其它职业的特殊职业,它有着自己与众不同的职业道德和行为准则,这些职业道德和行为准则是每一个计算机职业人员都要共同遵守的。1、 职业道德概念所谓职业道德&…

软件工程 软件的估计为什么这么难

前两年在网上看到一个笑话集锦, 列举电视剧中的穿帮情节。 其中一个是在某缠绵冗长的言情剧中, 一个叫 “书桓” 的角色沉痛地说 - “长达八年的抗日战争就要开始了…” 书桓同学当时是怎么估计到抗日战争要打八年的? 这一技术让软件工程师和项目经理望尘莫及。 软件项目计…

java php html,java和html的区别是什么

区别:1、HTML主前端,呈现数据,Java主处理加工数据。2、JAVA主要用于桌面应用程序和分布式网络应用程序的开发;HTML用于前端页面的开发。3、JAVA的运行环境是JDK和WEB服务器,HTML的运行环境是浏览器。本教程操作环境&am…

软件工程 估计方法

上回书说到 - 一个小组的同学 (6-8 人) 决定要徒步遍历中国陆地边界, 假设供给装备齐全, 估计需要多长时间? 用什么样的办法能让同学们方便地交流各自的估计, 最后到达大致理性和统一的共识? 一般这个时候教室里一定非常热闹, 大家各抒己见, 争执得不亦乐乎。 但是最后往往…

徐海学院计算机专业好吗,2019中国矿业大学徐海学院专业排名

中国矿业大学徐海学院是中国矿业大学以新机制举办的独立学院,成立于1999年,2003年经教育部批准作为独立学院办学,是江苏省最早批准办学的独立学院之一。为了让大家更好的了解这所大学的专业排名,下面是学习啦小编给大家带来的中国…

软件工程 团队博客分数 (第一阶段)

正如我在学期开始的时候跟大家介绍的那样, 如果所有团队都做同样的事情, 那么分数就采用 1/n 的体系。 第一名得满分, 第二名得 1/2 的分数, 第三名得 1/3 的分数… 大家都在一个地方写博客, 项目都是同样有趣, 所以我们采用 1/n 体系, 满分 20 分. 第一组: Seven…

高中学生计算机软件,中学生计算器

一款非常实用好用的手机计算器软件中学生计算器分享给大家强大的软件,完美快捷的输入方式,中学生计算器app拥有很多函数公式计算功能,让你完美的完成各种考试作业的计算,功能多多。中学生计算器软件介绍隐私计算器app是一款比自带…

软件工程 - 团队重组

In software companies, as in many corporations, the only thing that is not changed is “change” itself. A change in team membership and structure is usually called “re-organization”, or “re-org”. In sports, we call it “转会季节”. At the begi…

计算机组成原理实用教程课后答案,王万生《计算机组成原理实用教程》课后习题答案..doc...

王万生《计算机组成原理实用教程》课后习题答案.习题1参考答案一、选择题1.微型计算机的分类通常是以微处理器的 D 来划分。A.芯片名B.寄存器数目C.字长 D.规格2. 将有关数据加以分类、统计、分析,以取得有价值的信息,…

软件工程 团队作业 #9

Write a blog to describe in detail how you’re going to test your software based on scenario and persona 1.(link to your test plan, this was last week’s homework) 2.(link to your persona) 3.How do you expect different personas (some teams have 3 persona…

大学计算机基础水平,大学计算机基础心得.docx

大学计算机基础心得《大学计算机基础》与《大学计算机基础实践教程》假期学  习心得  在科学技术日新月异的发展的今天,人类进入了信息时代,随之而来的是越来越普遍的信息处理工作,计算机的应用在日渐广泛与深入,社会对计算机…