js笔记--1
1.创建一个layer层
var GameLayer = cc.Layer.extend({
_time:null,
_ship:null,
_backSky:null,
// 构造函数
ctor:function(){
this._super();
this.init();
}, //注意要有逗号 // 初始化函数
init:function () {
return true;
}, // 成员函数
scoreCounter:function () {
if (this._state == STATE_PLAYING) {
this._time++;
this._levelManager.loadLevelResource(this._time);
}
}, // 带参数
collide:function (a, b) {
var ax = a.x, ay = a.y, bx = b.x, by = b.y;
if (Math.abs(ax - bx) > MAX_CONTAINT_WIDTH || Math.abs(ay - by) > MAX_CONTAINT_HEIGHT)
return false; var aRect = a.collideRect(ax, ay);
var bRect = b.collideRect(bx, by);
return cc.rectIntersectsRect(aRect, bRect);
} // 最后一个可以不需要逗号 }); // 如果有需要通过切换场景的方式来进入下一个界面则可以创建这个方法、
// 在得到scene之后可以通过这个方式来进入
// cc.director.runScene(new cc.TransitionFade(1.2, scene));
GameLayer.scene = function () {
var scene = new cc.Scene();
var layer = new GameLayer();
scene.addChild(layer, 1);
return scene;
}; // 点击开始新游戏时会加载主游戏界面,这时候可能需要加载的资源会比较多
// 所以会用到预加载的方式、这也是成员函数,在点击按钮的时候响应
onNewGame:function (pSender) {
//load resources
cc.LoaderScene.preload(g_maingame, function () {
cc.audioEngine.stopMusic();
cc.audioEngine.stopAllEffects();
var scene = new cc.Scene();
scene.addChild(new GameLayer());
scene.addChild(new GameControlMenu());
cc.director.runScene(new cc.TransitionFade(1.2, scene));
}, this);
}, // 加载plist文件
cc.spriteFrameCache.addSpriteFrames(res.textureTransparentPack_plist); // 得到屏幕宽高
winSize = cc.director.getWinSize(); // 创建精灵,方式一
var sp = new cc.Sprite(res.loading_png);
sp.anchorX = 0;
sp.anchorY = 0;
sp.scale = MW.SCALE;
this.addChild(sp, 0, 1); //这里的this相当于lua中的self // 创建精灵方式二
var logo = new cc.Sprite(res.logo_png);
logo.attr({
anchorX: 0,
anchorY: 0,
x: 0,
y: MW.LOGOY,
scale: MW.SCALE
});
this.addChild(logo, 10, 1); // 创建按钮
var newGameNormal = new cc.Sprite(res.menu_png, cc.rect(0, 0, singalWidth, singalHeight));
var newGameSelected = new cc.Sprite(res.menu_png, cc.rect(0, singalHeight, singalWidth, singalHeight));
var newGameDisabled = new cc.Sprite(res.menu_png, cc.rect(0, singalHeight * 2, singalWidth, singalHeight)); var newGame = new cc.MenuItemSprite(newGameNormal, newGameSelected, newGameDisabled, function () {
// 按钮的响应函数
}.bind(this)); newGame.scale = MW.SCALE; // 设置属性
var menu = new cc.Menu(newGame, gameSettings, about);
menu.alignItemsVerticallyWithPadding(15);
this.addChild(menu, 1, 2); // 帧事件、
this.schedule(this.update, 0.1); update:function () {
if (this._ship.y > 750) {
this._ship.x = Math.random() * winSize.width;
this._ship.y = 10;
this._ship.runAction(cc.moveBy(
parseInt(5 * Math.random(), 10),
cc.p(Math.random() * winSize.width, this._ship.y + 750)
));
}
}, // 动作
this._ship = new cc.Sprite("#ship03.png");
this._ship.runAction(cc.moveBy(2, cc.p(Math.random() * winSize.width, this._ship.y + winSize.height + 100))); // js数组
http://www.w3school.com.cn/jsref/jsref_obj_array.asp
// js Boolean 对象
http://www.w3school.com.cn/jsref/jsref_obj_boolean.asp // this指针
//关于Javascript的this指针,和C++/Java很类似。我们来看个示例:(这个示例很简单了,我就不多说了) function print(text){
document.write(this.value + ' - ' + text+ '<br>');
//这里的this是调用print函数的对象
} var a = {value: 10, print : print};
var b = {value: 20, print : print}; print('hello');// this => global, output "undefined - hello" a.print('a');// this => a, output "10 - a"
b.print('b'); // this => b, output "20 - b" a['print']('a'); // this => a, output "10 - a"
http://www.php100.com/html/webkaifa/javascript/2012/0228/9927.html
http://www.ibm.com/developerworks/cn/web/1304_zengyz_jsoo/
js笔记--1的更多相关文章
- Data Visualization and D3.js 笔记(1)
课程地址: https://classroom.udacity.com/courses/ud507 什么是数据可视化? 高效传达一个故事/概念,探索数据的pattern 通过颜色.尺寸.形式在视觉上表 ...
- js笔记-0
#js笔记-0 数组: indexOf方法: Array也可以通过indexOf()来搜索一个指定的元素的位置: var arr = [10, 20, '30', 'xyz']; arr.indexO ...
- PPK谈JS笔记第一弹
以下内容是读书笔记,再一次温习JS好书:PPK谈JS window.load=initializePageaddEventSimple('window','load',function(){}) lo ...
- 面向小白的JS笔记 - #Codecademy#学习笔记
前言 最初浏览过<JavaScript秘密花园>,前一段时间读过一点点<JavaScript语言精粹>和一点点<JavaScript高级程序设计>(一点点是指都只是 ...
- require.js笔记
笔记参考来源:阮一峰 http://www.ruanyifeng.com/blog/2012/10/javascript_module.html 1. 浏览器端的模块只能采用“异步加载”方式 = ...
- JS笔记 入门第四
小测试: 注意:取消所有的设定可以直接使用 document.getElementById("txt").removeAttribute("style"); 这 ...
- JS笔记 入门第二
输出内容 document.write(); alert("hello!"); alert(mynum); </script> 注:alert弹出消息对话框(包含一个确 ...
- Node.js笔记1
Node.js入门笔记 1. node -help 可以显示帮助信息2. node REPL 模式(Read-eval-print loop) 输入—求值—输出循环 直接在cmd输入node 可以进入 ...
- JS笔记 入门第一
WHY? 一.你知道,为什么JavaScript非常值得我们学习吗? 1. 所有主流浏览器都支持JavaScript. 2. 目前,全世界大部分网页都使用JavaScript. 3. 它可以让网页呈现 ...
- 奇舞js笔记——第0课——如何写好原生js代码
摘要 1.好的代码职责要清晰,javscript不要用来操作样式: 2.API要设计的合理:通用性,适度的抽象(数据抽象,过程抽象),可扩展性: 3.效率问题:用好的.合适的算法(前端程序员要把自己当 ...
随机推荐
- PopupWindow
以前对于提示类型UI用到了PopupWindow 通过构造函数或者setContentView(View contentView)可以设置其显示内容: 显示时showAtLocation(View p ...
- 20151010 C# 第一篇 变量类型
20151010 变量类型: 1. 值类型:变量本身直接存储数据 整数类型:代表没有小数点的整数数值 类型 说明 范围 sbyte 8位有符号整数 -128——127 short 16位有符号整数 - ...
- Divide Two Integers leetcode
题目:Divide Two Integers Divide two integers without using multiplication, division and mod operator. ...
- Windows 8.1 应用再出发 - 几种新增控件(1)
Windows 8.1 新增的一些控件,分别是:AppBar.CommandBar.DatePicker.TimePicker.Flyout.MenuFlyout.SettingsFlyout.Hub ...
- Ubuntu远程开机 (Wake on Lan)
启动者(A) 被远程开启者(B) 一.被远程开启的电脑(电脑B):1. 重新开机,并进到BIOS设定2. 把Wake On Land / Wake On PCI(E)设为Enable3. 储存并进入U ...
- 关于 pgsql 数据库json几个函数用法的效率测试
关于 pgsql 数据库json几个函数用法的效率测试 关于pgsql 几个操作符的效率测试比较1. json::->> 和 ->> 测试方法:单次运行100次,运行10个单次 ...
- python 多线程 笔记(一)
#coding=utf-8 import threading from time import sleep, ctime loops = [4,2] def loop(nloop, nsec): pr ...
- Address already in use: bind
Eclipse中报了这个错误,下拉小窗口,可以看到正在运行的项目,选中项目,都关闭就Ok了 还有一种方法就是关闭javaw.exe进程
- log-malloc2 0.2.4 发布
log-malloc2 0.2.4 发布了,该版本修复了日志格式输出的 bug. og-malloc2 是一个 malloc 日志预加载库,用于检测内存泄漏问题.
- 用c#开发微信(1)服务号的服务器配置和企业号的回调模式 - url接入 (源码下载)
最近研究了下服务号的服务器配置和企业号的回调模式.真正实现完后,觉得很简单,但一开始还是走了点弯路,所以写了个web程序,只用改下配置文件里的参数就可以直接用了.下面介绍下详细的用法以及实现步骤. 本 ...