目次- 1. シーンの読み込み
- 2. ノードを見つける
- 1. ノード検索
- 2. その他のノード操作
- 3. 再生アクションとタイマーを停止する
- 3. ノード属性の設定
- 4. ノードアクション
- 5. タイマー
- 6. イベント監視
- 7. グローバル変数を定義する
- 8. 解決
- 9. オーディオコントロール
- 10. 装備の判断
- 11. イベントのリスニングと発行
- 1. タッチモニタリング
- 2. マウスのモニタリング
- 3. 入力ボックスの監視
- 4. プロパティ変更監視
- 5. ScrollViewコントロールの監視
- 6. ユーザー定義イベント
- 補充:
1. シーンの読み込み- cc.director.loadScene('シーン名');//シーンジャンプ
- cc.director.preloadScene('シーン名');//シーンをプリロード
- cc.director.getScene(); //現在のシーンを取得する
2. ノードを見つける1. ノード検索- node = cc.find("Canvas/bg"); //パスアクセスノードのパフォーマンス消費は比較的大きい
- this.node.getChildByName('name'); //子ノードを名前で取得するとパフォーマンスが低下します
- node.getComponent(cc.Label) //ノードのラベル属性値を取得します
- this.node; //現在のスクリプトノード
- this.node.parent; //親ノード
- this.node.getChildByTag(100); //タグで子ノードを取得する
- cc.find("game/test",this.node); //指定されたノードの下のパスでノードを取得します
- this.node.children; //すべての子ノードを取得する
- node.getChildren(); //すべての子ノードを取得する
- this.node.childrenCount; //子ノードの数を取得する
- node.getChildrenCount(); //子ノードの数を取得する
- cc.director.getScene(); //シーンのメインノードを取得する
- var sprites = this.node.getComponentsInChildren(cc.Label); //指定されたタイプのコンポーネントを、それ自体とすべての子ノード内で再帰的に検索します。
2. その他のノード操作- cc.instantiate(node);//ノードを複製
- this.node.parent = cc.find('Canvas'); //親ノードをバインドする
- this.node.addChild(nodeName,zIndex,tag); //子ノードを追加します。レベルとタグを設定できます。
- this.node.removeChild(nodeName); //子ノードを削除
- this.node.removeChildByTag (nodeTag); //タグで子ノードを削除する
- this.node.destroy();//ノードを破棄する
- this.node.isValid; //ノードが利用可能かどうかを判定する
- this.node.removeChild(newNode); //ノード内の指定された子ノードを削除します
- this.node.removeChildByTag(100); //タグでノード内の指定された子ノードを削除します
- this.node.removeAllChildren(); //すべての子ノードを削除します
- this.node.destroyAllChildren(); //すべての子ノードを破棄する
3. 再生アクションとタイマーを停止するthis.node.cleanup(); //再生中のアクションとタイマーをすべて停止する 3. ノード属性の設定- node.getPositionX(); または getPositionY() //X軸またはY軸の座標
- node.getScaleX(); または getScaleY() //X軸またはY軸のスケーリング
- node.x = 100; //ノードのx軸座標を設定する
- node.y = 100; //ノードのy軸座標を設定する
- node.setPosition(x,y); //ノードの座標を設定する
- node.rotation = 90; //ノードの回転角度を設定する
- node.scaleX = 2; //ノードのX軸のスケーリング係数を設定する
- node.scaleY = 2; //ノードのY軸のスケーリング係数を設定します
- node.setScale(2); //ノード全体のスケーリング係数を設定する
- node.width = 100; //ノードの幅を設定する
- node.height = 100; //ノードの高さを設定する
- node.setContentSize(100, 100); //ノードの幅と高さを設定する
- node.anchorX = 1; //ノードのX軸アンカーポイント座標を設定する
- node.anchorY = 0; //ノードのY軸アンカーポイント座標を設定する
- node.setAnchorPoint(1, 0); //ノードのアンカーポイント座標を設定する
- node.opacity = 255; //ノードの透明度を設定します(0-255)
- node.setOpacity(20); //ノードの透明度を設定(0~255)
- node.color = new cc.color(100,100,100,255); //ノードの色を設定する(R、G、B、透明度)
- cc.isValid(this.label.node) //ノードが存在するかどうかを判定する
- node.active = false; //ノードを閉じる(ノードを非表示にする)
常駐ノード- cc.game.addPersistRootNode(myNode); // 永続ノード(グローバル変数)
- cc.game.removePersistRootNode(myNode); //常駐ノードをキャンセルする
4. ノードアクション- cc.show()//すぐに表示
- cc.hide () //すぐに非表示にする
- cc.toggleVisibility()//表示と非表示を切り替える
- cc.fadeIn(1) //フェード効果
- cc.fadeOut(1) // フェードアウト効果
- cc.delayTime(1) //1秒間待つ
- node.runAction(cc.moveTo(1,0,0)); //現在のノードに移動する(時間(秒)、X軸座標、Y軸座標)
- node.runAction(cc.scaleTo(1,0.7,0.8)); //現在の複数のノードにスケールします (時間 (秒)、X 軸の倍数、Y 軸の倍数)
- node.runAction(cc.rotateTo(1,160,160)); //指定された角度(時間(秒)、X軸角度、Y軸角度)まで回転します
- node.runAction(cc.skewTo(1,5,-5)); //ノードの傾きを変更(時間(秒)、X軸の傾き、Y軸の傾き)
- node.runAction(cc.fadeTo(2,0)); //現在のノードの透明度を変更します(時間(秒)、透明度)
- node.runAction(cc.tintTo(2,255,255,0)); //現在のノードの色を変更します (time, R, G, B)
- node.stopAllActions(); //すべてのアクションを停止する
- var action = cc.moveTo(2, 100, 100); // アクションを作成する (moveTo は移動を意味します)
- node.runAction(action); // 指定されたアクションを実行する
- node.stopAction(action); // 指定されたアクションを停止する
- cc.sequence(action1,action2); // 順番に実行
- cc.spawn(action1, action2); //同時に実行
- cc.repeatForever(cc.sequence(action1,action2)); // 繰り返しアクション
5. タイマー
始める() {
// スケジュールされた開始 // 2秒後に開始 this.scheduleOnce(() => {
cc.log("スケジュールを1回だけ")
}, 2)
// 頻度 + 1 遅延 this.schedule(() => {
cc.log("スケジュール")
}, 1, 3, 5)
// 永久に実行する let one = this.schedule(() => {
cc.log("スケジュール")
}, 1, cc.macro.REPEAT_FOREVER, 2)
// すべてのスケジュールをクリアする this.scheduleOnce(() => {
cc.log("スケジュールを1回だけ")
this.unscheduleAllCallbacks()
}, 5)
callb = 関数() {
cc.log("callb")
}
this.schedule(callb, 0.5) //デフォルトでは永久に実行されます this.scheduleOnce(() => {
cc.log("スケジュールを1回だけ")
this.unschedule(callb)
}, 2)
}, 6. イベント監視(開始: 'touchstart'、移動: 'touchmove'、終了: 'touchend'、キャンセル: 'touchcancel')
node.on('touchstart',function(イベント){
これを何か実行します。
}、これ); - event.getID(); //連絡先のIDを取得する
- event.getLocationX(); //タッチポイントのX座標を取得する
- event.getLocationY(); //タッチポイントのY座標を取得する
cc.eventManager.addListener({
イベント: cc.EventListener.KEYBOARD/TOUCH_ONE_BY_ONE,myfunction},self.node); 7. グローバル変数を定義するwindow.global = "blobal string"; //グローバル変数はどのスクリプトでも定義できます
ウィンドウ.G = {
a: ヌル、
b: ヌル、
}; グローバル変数は、どのスクリプトでもアクセスできます(スクリプトが実行されている場合)。 ガ = 0; 0;
var something = require('something');
cc.game.addPersistRootNode(myNode); //永続ノード。階層のルートノードに配置する必要があります。module.exports = {
設定: 123
} 8. 解決デバイスの解像度を取得する - var 機器 = cc.director.getWinSizeInPixels()
- var 機器W = 機器.幅
- var 機器H = 機器.高さ
- cc.view.getCanvasSize().width; //デバイス解像度の幅を取得します
- cc.view.getCanvasSize().height; //デバイスの解像度の高さを取得します
- cc.director.setDisplayStats(true);//フレーム情報を表示
9. オーディオコントロールcc.audioEngine.playMusic(this.BGAudio,true);//音楽を再生(trueループ) cc.audioEngine.stopMusic()//再生を停止 cc.audioEngine.playEffect(this.ClickAudio,false);//サウンド効果を再生します (false は 1 回のみ再生することを意味します) cc.audioEngine.stopEffect(サウンド効果変数名); // 指定したサウンド効果を停止します (サウンド効果は最初に変数に割り当てる必要があります) cc.audioEngine.AllEffects(); //すべてのサウンド効果を停止します cc.audioEngine.setMusicVolume(parameter); //バックグラウンドミュージックの音量を設定します(範囲は0~1) cc.audioEngine.setEffectsVolume(parameters); //サウンド効果の音量を設定します(範囲は0〜1) 10. 装備の判断- cc.sys.isNative // ローカルですか?
- cc.sys.isBrowser //Web ページですか?
- cc.sys.isMobile // モバイル システムですか?
- cc.sys.platform //実行中のプラットフォーム
- cc.sys.language //現在実行中のシステムの言語
- cc.sys.os //現在実行中のシステム
- cc.sys.OS_IOS //IOS システムですか?
- cc.sys.OS_ANDROID // Android システムですか?
- cc.sys.OS_WINDOWS // Windows システムですか?
- cc.sys.openURL('Http://www.baidu.com'); //Webページを開く
11. イベントのリスニングと発行- this.node.pauseSystemEvents(true);//ノードのシステムイベントを一時停止する
- this.node.resumeSystemEvents(true);//ノードのシステムイベントを再開する
- this.node.targetOff(this); //登録されたすべてのイベントを削除する
1. タッチモニタリング「タッチスタート」を起動し、 'touchmove' を移動します。 終了 'touchend'、 キャンセル 'touchcancel'
- var pos = event.getLocation(); //タッチポイントの座標(XとYを含む)を取得します
- var x = event.getLocationX(); //タッチポイントのX座標を取得する
- var y = event.getLocationY(); //タッチポイントのY座標を取得する
- var a = event.getID(); //連絡先のIDを取得する
2. マウスのモニタリングマウスダウン「mousedown」、 ノード「mouseenter」に移動し、 ノード「mousemove」内を移動します。 ノード「mouseleave」を削除します。 「マウスを離す」マウスアップ
- event.getScrollY(); //スクロールホイールのY軸距離を取得します。スクロール時のみ有効です。
- event.getLocation(); //x属性とy属性を含むマウス位置オブジェクトを取得します
3. 入力ボックスの監視フォーカスを取得 'editing-did-began'、 テキストの変更 'text-changed'、 フォーカスが失われました '編集-終了-'、 「編集-戻る」を押してください
4. プロパティ変更監視位置「位置変更」、 幅と高さの「サイズ変更」、 回転変更、 「スケール変更」
5. ScrollViewコントロールの監視「スクロール」、 スクロールを停止します 'scroll-ended'
6. ユーザー定義イベントリスニング: this.node.on("custom event name", function(target), this); - this.node.on('イベント名',function,this);//リスナーを登録
- this.node.emit('イベント名'); // 監視ブロードキャストを送信
- this.node.off('イベント名',function,this);//監視を終了する
セルフ配信: 送信("イベント名", [詳細]); あなただけが受信できます
onLoad: 関数 () {
// 受信者 // イベント タイプ (カスタム文字列)。
// コールバック関数: function(e) {} e--> cc.Event.EventCustom インスタンス this.node.on("pkg_event", function (e) {
console.log("pkg_event", e);
}、 これ);
// ディスパッチャはそれを自分自身に渡すことしかできず、上方に渡すことはできません。 this.node.emit("pkg_event", { name: "hanbao" });
}, バブル配信: dispatchEvent(new cc.Event.EventCustom("name", バブル配信するかどうか));
onLoad: 関数 () {
// 受信者 // イベント タイプ (カスタム文字列)。
// コールバック関数: function(e) {} e--> cc.Event.EventCustom インスタンス this.node.on("pkg_event", function (e) {
console.log("pkg_event", e.detail);
}、 これ);
},
開始: 関数 () {
this.node.emit("pkg_event", { name: "hanbao" }); //これは自分自身に一度ディスパッチされます// //これはグローバル システムにディスパッチされます。
// true/false、true は上位に渡され、false は上位に渡されません var e = new cc.Event.EventCustom("pkg_event", true);
e.detail = { 名前: "haobao" };
this.node.dispatchEvent(e);
}, 補充:- cc.director.pause();//一時停止
- cc.director.resume();//続行
- cc.director.end();//アプリケーション全体を終了します
- node.getLocalZOrder(); //レベル取得
- node.setLocalZOrder(1); //レベル変更
- cc.find('canvas/map' + num) //変数を使ってパスを読み取る
上記は、CocosCreatorのよく使われる知識ポイントの詳細な内容です。CocosCreatorの知識ポイントの詳細については、123WORDPRESS.COMの他の関連記事に注目してください。 以下もご興味があるかもしれません:- cocoscreatorプレハブの詳しい説明
- CocosCreator でレイヤー管理に常駐ノードを使用する方法
- ゲーム開発におけるサウンド処理にCocosCreatorを使用する方法
- CocosCreator ScrollView 最適化シリーズ: フレーム読み込み
- CocosCreatorプロジェクト構造の仕組みの詳細な説明
- CocosCreatorオブジェクトプールの使い方
- CocosCreatorでスワイプした位置にテクスチャを表示する方法
- CocosCreatorのホットアップデートの包括的な説明
- CocosCreator クラシック エントリー プロジェクト flappybird
- CocosCreator ユニバーサルフレームワークデザインネットワーク
- CocosCreatorを使ってシューティングゲームを作る方法
- CocosCreatorでゲームコントローラーを使用する方法
|