creator 跳跃弧线_(转)CocosCreator零基础制作游戏《极限跳跃》四、添加游戏主场景控制脚本...
CocosCreator零基礎制作游戲《極限跳躍》四、添加游戲主場景控制腳本
前面簡單的實現了主界面的UI設置,現在我們開始制作游戲的控制腳本。
在資源管理器的Script文件夾中,點擊右鍵新建javascript文件,命名為GAME。
雙擊打開GAME腳本,在properties: 中添加屬性代碼。
01
//GAME.js
02
03
cc.Class({
04
extends:?cc.Component,
05
properties:?{
06
07
//?player?節點,用于獲取主角彈跳的高度,和控制主角行動開關
08
player:?{
09
default:null,
10
type:?cc.Node
11
},
12
//?bgsprite1?節點,用于背景移動
13
bgsprite1:?{
14
default:null,
15
type:?cc.Node
16
},
17
//?bgsprite2?節點,用于背景移動
18
bgsprite2:?{
19
default:null,
20
type:?cc.Node
21
},
22
//?score?label?的引用
23
scoreDisplay:?{
24
default:null,
25
type:?cc.Label
26
},
27
},
保存好后,我們雙擊MainScene打開場景,點擊Canvas,在右側的屬性檢查器最底部,點擊[添加組件]=》[添加用戶腳本組件]然后選擇我們剛剛創建的腳本GAME.js。
添加好后就可以在屬性檢查器看到我們的屬性組件來,然后我們把場景里的節點拖進對應的屬性框即可實現節點綁定。不懂得可以多看看官方文檔。
這樣我門就可以在GAME腳本里來操作節點了。
二、創建HeroPlayer腳本用來操作玩家主角
01
//HeroPlayer.js
02
03
cc.Class({
04
extends:?cc.Component,
05
properties:?{
06
//主角跳躍高度
07
jumpHeight:0,
08
//主角跳躍持續時間
09
jumpTimes:0,
10
//掉落速度
11
maxMoveSpeed:0,
12
},
13
//跳躍
14
setJumpUpAction:function(){
15
//?跳躍上升
16
var?jumpUp?=?cc.moveBy(this.jumpTimes,?cc.p(0,this.jumpHeight));
17
//jumpUp.reverse();
18
return?jumpUp;
19
},
20
//掉落
21
setJumpDownAction:function(){
22
//下落
23
var?jumpDown?=?cc.moveBy(this.jumpTimes,?cc.p(0,?-this.maxMoveSpeed));
24
return?jumpDown;
25
},
26
setJumpRunAction:function(){
27
//?初始化跳躍動作
28
this.jumpAction?=this.setJumpUpAction();
29
//掉落動作
30
this.maxMoveSpeed?=this.setJumpDownAction();
31
//包裝動作
32
var?seq?=?cc.sequence(this.jumpAction,this.maxMoveSpeed);
33
this.node.runAction(seq);
34
},
35
//玩家不操作時,角色進行下墜
36
heroDownMove:function(){
37
//下落
38
var?heroDown?=?cc.moveBy(0.8,?cc.p(0,?-5));
39
return?heroDown;
40
},
41
//?use?this?for?initialization
42
onLoad:function?()?{
43
44
this.setJumpRunAction();
45
46
},
47
48
//?called?every?frame,?uncomment?this?function?to?activate?update?callback
49
update:function?(dt)?{
50
this.node.runAction(this.heroDownMove());//精靈移動
51
}
52
53
54
});
角色有2種狀態,一種是玩家點擊屏幕會實現角色的跳躍,第二種就是角色會受到引力會自動下落。我們在update來實現自動下落。添加好方法后,我門在層級管理器中點擊hero節點。然后在右側屬性檢查器中綁定腳本。
我門可以在里面初始化值。跳躍高度值,跳躍持續時間,掉落速度等。
腳本里主要實現了跳躍動作,掉落動作等。
然后回到我們的游戲主腳本也就是GAME腳本。添加觸摸事件監聽,實現監聽觸摸來調用主角的跳躍動作。
首先在頂部添加腳本引用,然后創建事件監聽的方法。
01
//GAME.js
02
var?HeroPlayer?=?require("HeroPlayer");
03
//-----
04
//事件監聽
05
setEventControl:?function(){
06
var?self?=this;
07
var?hero?=?self.player.getComponent(HeroPlayer);//角色綁定控件
08
09
cc.eventManager.addListener({
10
event:?cc.EventListener.TOUCH_ONE_BY_ONE,
11
swallowTouches:true,
12
//?設置是否吞沒事件,在?onTouchBegan?方法返回?true?時吞沒
13
onTouchBegan:?function?(touch,?event)?{
14
//實現?onTouchBegan?事件回調函數
15
var?target?=?event.getCurrentTarget();
16
//?獲取事件所綁定的?target
17
18
var?locationInNode?=?target.convertToNodeSpace(touch.getLocation());
19
cc.log("當前點擊坐標"+locationInNode);
20
21
hero.node.runAction(hero.setJumpUpAction());//精靈移動
22
//cc.log("跳躍:--------");
23
24
25
26
return?true;
27
},
28
onTouchMoved:?function?(touch,?event)?{//?觸摸移動時觸發
29
30
},
31
onTouchEnded:?function?(touch,?event)?{//?點擊事件結束處理
32
33
//??cc.log("跳躍后角色坐標:"?+?self.player.getPosition()?);
34
}
35
36
},?self.node)
37
},
然后在onload方法實現初始化調用。
1
onLoad:?function?()?{
2
//觸摸監聽
3
this.setEventControl();
4
//?初始化計分
5
this.score?=?0;
6
7
},
我們可以來運行下,看下效果。
總結
以上是生活随笔為你收集整理的creator 跳跃弧线_(转)CocosCreator零基础制作游戏《极限跳跃》四、添加游戏主场景控制脚本...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 拍人像35mm还是50mm
- 下一篇: win10怎么连接投影仪(电脑连接投影仪