cocojsdemo的簡單介紹

本文目錄一覽:

cocos js 怎樣做出按鈕選中效果

cocos js 做出按鈕選中效果示例:

一,首先使用cocos新建一個Cocos2d-js的新項目,然後再cocostudio中創建一個場景,在場景中添加三個按鈕分別設置三態的圖片

二,打開編輯器,實現代碼如下:

var HelloWorldLayer = cc.Layer.extend({

ctor:function () {

this._super();

//導入cocostudio中拼好的界面

mainscene = ccs.load(res.MainScene_json).node;

this.addChild(mainscene);

this.teamButton = ccui.helper.seekWidgetByName(mainscene,”Button_0″);

var btn2 = ccui.helper.seekWidgetByName(mainscene,”Button_1″);

var btn3 = ccui.helper.seekWidgetByName(mainscene,”Button_2″);

//先默認設置一個按鈕為選中狀態   this.teamButton.setBrightStyle(ccui.Widget.BRIGHT_STYLE_HIGH_LIGHT);

this.teamButton.setEnabled(false);

var teamInfo = this.teamButton;

this.teamButton.addTouchEventListener(this.selectedBtn1,this);

btn2.addTouchEventListener(this.selectedBtn2,this);

btn3.addTouchEventListener(this.selectedBtn3,this);

return true;

},

selectedBtn1: function (sender, type) {

if(type == ccui.Widget.TOUCH_ENDED){

this.callBack(sender);

cc.log(“==========商店界面”);

}

},

selectedBtn2: function (sender, type) {

if(type == ccui.Widget.TOUCH_ENDED){

this.callBack(sender);

cc.log(“==========卡牌界面”);

}

},

selectedBtn3: function (sender, type) {

if(type == ccui.Widget.TOUCH_ENDED){

this.callBack(sender);

cc.log(“==========戰鬥界面”);

}

},

callBack: function (sender) {

if (this.teamButton == sender){

return;

}else{

this.teamButton.setBrightStyle(ccui.Widget.BRIGHT_STYLE_NORMAL);

this.teamButton.setEnabled(true);

sender.setBrightStyle(ccui.Widget.BRIGHT_STYLE_HIGH_LIGHT);

sender.setEnabled(false);

this.teamButton = sender;

}

},

});

var HelloWorldScene = cc.Scene.extend({

onEnter:function () {

this._super();

var layer = new HelloWorldLayer();

this.addChild(layer);

}

});

三,運行就可以查看界面,點擊不同的按鈕顯示不同的輸出結果

[Log] ==========商店界面 (CCDebugger.js, line 331)

[Log] ==========卡牌界面 (CCDebugger.js, line 331)

[Log] ==========戰鬥界面 (CCDebugger.js, line 331)

自學cocos2d js遊戲開發應該按什麼步驟進行

跟你簡要說一下我的自學路,以免你走彎路

背景:

有工作,而且很忙;在不影響工作基礎上用業餘時間鼓搗(經常會因為工作耽擱學習進度);基本沒技術背景(初中qbasic、高中pascal半吊子),大學文科,工作也不是搞代碼。因此我感覺我的自學路跟你還是挺契合的。

1

兩年前的一天,決定要做獨立遊戲製作人。選定引擎cocos2d,開始學習objective-c語言;(如果你打算只在iOS平台開發可以學obj-c配合cocos2d或者sprite kit;如果打算跨平台就要用cocos2d-x和c++了;當然unity什麼的也不錯但是我還沒嘗試過,一直很嚮往)

2

我跳過了iOS程序開發(似懂非懂看完了斯坦福那一系列的教學視頻),結合當時情況直接選擇了cocos2d引擎,這時開始接觸 @吳一刀 推薦的博客;我主要看的是子龍山人子龍山人 – 博客園、Ray WenderlichRay Wenderlich、Himi黑米GameDev街區這些博客里最基本的例子,知易那個以我當時的水平還看不懂。

3

嘗試開始設計自己的簡單遊戲,我做打地鼠!當然比教學例子里的打地鼠複雜多了

4

這個過程中發現自己懂的實在是不夠,所以又開啃這本書:Learn cocos2d 2 by Steffen Itterheim Andreas Low

5

慢慢的發現需要一些趁手的工具和編輯器,並發展出一套自己構建於cocos2d之上的遊戲設計架構。我目前的情況是這樣:

關卡編輯我使用plist文件配合自己寫的類;

sprite sheet使用TexturePackerTexturePacker;

動畫/UI編輯最初自己手寫太累,後來選擇了cocosbuilder,請注意現在這個軟體已經停止維護,轉而引導用戶使用SpriteBuilderSpriteBuilder(域名都做了自動跳轉;SpriteBuilder我木有研究過,建議你研究一下)。

粒子編輯我自己還沒實際用到,如果真正需要我感覺cocosbuilder的夠我用的。//更新:後來用到了ParticleDesigner和cocosbuilder兩個軟體的粒子編輯混搭

我當時遇到的一個大麻煩是如何讓cocosbuilder、cocos2d版本互相兼容且cocosbuilder無問題。大概情況是這樣:cocosbuilder2.1和cocos2d-iphone2.0及2.1版本都不協調怎麼辦?;What version of Cocosbuilder and Cocos2d-iphone should I choose?

目前我使用的cocosbuilder 2.1版本(漸變層有bug、並且很可惜動畫播放完沒有觸發消息的機制,我只好把每個動畫時長都手動記錄一下自己處理)

======3月12日更新======

在 @GarfieldKwong 指點下發現這個版本動畫播放完是可以觸發消息機制的,更高級版本3.x支持的效果應該是在動畫中就加入callback的關鍵幀

新技能get√

具體代碼可見下面學習案例的第一個例子里Explosion部分

=====================

cocosbuider的學習可以看兩個例子Creating a Game with CocosBuilder;Introduction to CocosBuilder;然後就是多用多嘗試。

6

整個學習過程要學會查資料、學會尋求幫助,我主要用的stackoverflow(話說剛剛發現stackoverflow的reputation喜過15,終於可以投票了:)

在學習過程中得到了子龍山人(我認為本尊是這位 @屈光輝 )、LearnCocos2d作者Steffen、 @kubisoft 以及眾多網上朋友的幫助,再次表示感謝。

7

硬體及開發者資格:看完c++開始看obj-c,這個過程一直是使用的vmware虛擬機安裝的mac系統寫程序;然後入手一個最便宜的mac pro、以及iPhone,嘗試玩各種遊戲;從看c++開始大約過了1年半(已經有非常簡陋的遊戲demo)才真正購入iOS開發者資格並開始真機測試。

8

嘗試過的一些其他工具、各種彎路和坑、以及發散內容:

可以拖拽方式寫代碼的stencyl Stencyl: Make iPhone, iPad, Android Flash Games without code;

最初學的不是ojc-c而是譚浩強老師的c++程序設計(雖然有人不喜譚老師,但那書是中文的讓我對面對對象程序設計有一些初步的概念,再看英文的obj-c不至於太摸不著頭腦,反正手頭正好有這麼一本買了6年沒看的c++。。。);

嘗試過Tiled Map Editor但自己目前的坑沒有用到;

嘗試過一點物理引擎和粒子,但自己目前的坑沒有用到;現在粒子用到了,做了火焰等效果,也挺美的;但是一定要注意CPU佔用優化,內存方面我最低支持4S沒遇到大問題

學習音樂製作,這個我小時候學琴一直也喜歡音樂所以有一點點底子,如果沒有基礎可能上手有門檻;開始用的軟體LMMS,但是音源插件在64位系統的問題我一直沒解決掉時間精力也不多,所以是暫時停滯了;最近發現Garage Band可能也可以寫歌;另外還試過一個很有歷史的微軟的音樂自動編輯器,很好玩,用來做背景音樂也不錯。

入手手繪板學畫畫(這中間糾結了好久才決定用點陣圖不用矢量圖),如果你能找到熱愛遊戲的美術同學一起搞那最好不過。但是我一直對畫畫心癢難搔。。。所以入了這個深坑,曬一曬:

轉載

z

求video.js的詳細用法及demo

我也在自學,這個是我自己寫的,改一下文件試試?:

!DOCTYPE html

html

head

meta charset=”utf-8″

title/title

style type=”text/css”

*{ margin: 0; padding: 0;}

video::-webkit-media-controls-enclosure {

/*禁用播放器控制欄的樣式*/

display: none !important;

}

#wrap{width:700px;position: relative; overflow: hidden;margin: 0 auto;}

.box{ position: absolute; bottom: 10px;width:100%;text-align: center; }

/*#play,#stop,#full,#secfull{ width: 7%;}

#videotimer{width: 20%}*/

/*#time{float: left;}*/

/style

/head

body

div class=”full” id=”wrap”

section class=”video”

video width=”700″ height=”” id=”video” loop=”” autoplay=””

source src=”b.mp4″ /source

/video

/section

section class=”box”

button id=”play”開始/button

button id=”stop”暫停/button

button id=”full”全屏/button

button id=”escfull”退出全屏/button

input type=”range” id=”videotimer” min=”0″ value=”0″ /

!–div id=”time”–

span00/span:span class=”now”00/span /

time class=”minute”00/time:time class=”second”00/time

!–/div–

!–button id=”mute”靜音/button–

/section

/div

script src=”../jquery-1.12.0.js” type=”text/javascript” charset=”utf-8″/script

script type=”text/javascript”

var aplay=document.getElementById(“play”);

var astop=document.getElementById(“stop”);

var avideo=document.getElementById(“video”);

var full=document.getElementById(“full”);

var escfull=document.getElementById(“escfull”);

var wrap=document.getElementById(“wrap”);

var mute=document.getElementById(“mute”);

aplay.onclick=function(){

avideo.play();

}

astop.onclick=function(){

avideo.pause();

}

// mute.onclick=function(){

// avideo.muted();

// }

full.onclick=function(){

if(wrap.webkitRequestFullScreen){

wrap.webkitRequestFullScreen();

$(‘.full’).css(“width”,$(window).width()+”px”);

$(‘.full’).css(“height”,$(window).height()+”px”);

avideo.style.width = $(window).width()+”px”;

}else if(wrap.mozRequestFullScreen){

wrap.mozRequestFullScreen();

}else if(wrap.msRequestFullscreen){

wrap.msRequestFullscreen();

}

}

escfull.onclick=function(){

if(document.webkitCancelFullScreen){

document.webkitCancelFullScreen();

wrap.style.width = 700+”px”;

wrap.style.height = ‘auto’;

avideo.style.width = 700+’px’;

}

}

avideo.onloadedmetadata=function(){

var videoLong=Math.floor(avideo.duration);

var videonow=Math.floor(avideo.currentTime);

var min=Math.floor(videoLong/60);

var sec=Math.floor(videoLong%60);

$(‘.minute’).html(min);

$(‘.second’).html(sec);

$(‘#videotimer’).attr(“max”,videoLong);

$(‘#videotimer’).change(function(){

avideo.currentTime=$(this).val();

});

avideo.ontimeupdate=function(){

$(‘#videotimer’).val(Math.floor(avideo.currentTime));

$(‘.now’).html(Math.floor(avideo.currentTime));

}

}

/script

/body

/html

js寫一個將圖片向上淡出第二張圖片從下往上淡入

這種通常用class切換狀態比較好,一下是兩張圖片淡入淡出demo。通過js控制一個dom元素的class狀態,可以產生想要的過渡動畫

!DOCTYPE html

html

head

meta charset=”utf-8″ /

title/title

style type=”text/css”

body{

background: #ccc;

}

.content{

position: absolute;

top: 30%;

}

#box1{

position: absolute;

border: 1px solid red;

transition: all 1s;/*過渡時間*/

}

#box2{

position: absolute;

border: 1px solid red;

transition: all 1s;/*過渡時間*/

}

.up{

/*圖片向上狀態*/

-webkit-transform: translateY(-100%);

transform: translateY(-100%);

opacity: 0;

}

.down{

/*圖片向下狀態*/

-webkit-transform: translateY(100%);

transform: translateY(100%);

opacity: 0;

}

/style

/head

body

button onclick=”fadeInOut()”淡入淡出/button

div class=”content”

!–圖片1–

div id=”box1″ class=””img src=””//div

!–圖片2–

div id=”box2″ class=”down”img src=””//div

/div

script

function fadeInOut(){

console.log(1)

document.getElementById(“box1″).className=”up”;

document.getElementById(“box2″).className=””;

}

/script

/body

/html

cocos2d js怎麼設置遊戲界面在手機中是豎屏顯示

coco2dx js通用的設置豎屏顯示的方法:

只需要在 RootViewController.mm 文件裡面

if ([[UIDevice currentDevice] respondsToSelector:@selector(setOrientation:)]) {

[[UIDevice currentDevice] performSelector:@selector(setOrientation:)

withObject:(id)UIInterfaceOrientationPortrait];

}

//判斷不能是自己切換

– (BOOL) shouldAutorotate {

return NO;

}//一定要返回no

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/245879.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 13:11
下一篇 2024-12-12 13:11

相關推薦

  • Python簡單數學計算

    本文將從多個方面介紹Python的簡單數學計算,包括基礎運算符、函數、庫以及實際應用場景。 一、基礎運算符 Python提供了基礎的算術運算符,包括加(+)、減(-)、乘(*)、除…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • Python海龜代碼簡單畫圖

    本文將介紹如何使用Python的海龜庫進行簡單畫圖,並提供相關示例代碼。 一、基礎用法 使用Python的海龜庫,我們可以控制一個小海龜在窗口中移動,並利用它的「畫筆」在窗口中繪製…

    編程 2025-04-29
  • Python櫻花樹代碼簡單

    本文將對Python櫻花樹代碼進行詳細的闡述和講解,幫助讀者更好地理解該代碼的實現方法。 一、簡介 櫻花樹是一種圖形效果,它的實現方法比較簡單。Python中可以通過turtle這…

    編程 2025-04-28
  • Python大神作品:讓編程變得更加簡單

    Python作為一種高級的解釋性編程語言,一直被廣泛地運用於各個領域,從Web開發、遊戲開發到人工智慧,Python都扮演著重要的角色。Python的代碼簡潔明了,易於閱讀和維護,…

    編程 2025-04-28
  • 用Python實現簡單爬蟲程序

    在當今時代,互聯網上的信息量是爆炸式增長的,其中很多信息可以被利用。對於數據分析、數據挖掘或者其他一些需要大量數據的任務,我們可以使用爬蟲技術從各個網站獲取需要的信息。而Pytho…

    編程 2025-04-28
  • 如何製作一個簡單的換裝遊戲

    本文將從以下幾個方面,為大家介紹如何製作一個簡單的換裝遊戲: 1. 遊戲需求和界面設計 2. 使用HTML、CSS和JavaScript開發遊戲 3. 實現遊戲的基本功能:拖拽交互…

    編程 2025-04-27
  • Guava Limiter——限流器的簡單易用

    本文將從多個維度對Guava Limiter進行詳細闡述,介紹其定義、使用方法、工作原理和案例應用等方面,並給出完整的代碼示例,希望能夠幫助讀者更好地了解和使用該庫。 一、定義 G…

    編程 2025-04-27
  • 2的32次方-1:一個看似簡單卻又複雜的數字

    對於計算機領域的人來說,2的32次方-1(也就是十進位下的4294967295)這個數字並不陌生。它經常被用來表示IPv4地址或者無符號32位整數的最大值。但實際上,這個數字卻包含…

    編程 2025-04-27
  • 製作一個簡單的管理系統的成本及實現

    想要製作一個簡單的管理系統,需要進行技術選型、開發、測試等過程,那麼這個過程會花費多少錢呢?我們將從多個方面來闡述製作一個簡單的管理系統的成本及實現。 一、技術選型 當我們開始思考…

    編程 2025-04-27

發表回復

登錄後才能評論