Просмотр исходного кода

Merge branch 'master' of http://git.mokasz.com/zouyong/mk_framework

kaka 5 лет назад
Родитель
Сommit
0f7d22432e

+ 4 - 15
assets/script/game/component/tween/EffectOpenAndClose.ts

@@ -74,16 +74,10 @@ export default class EffectOpenAndClose extends cc.Component {
                 case EffectType.none:
                     break;
                 case EffectType.scale:
-                    this.effect_par.scale = 0;
-                    cc.tween(this.effect_par)
-                        .to(0.15, { scale: 1 })
-                        .start()
+                    mk.tween.scale(this.effect_par);
                     break;
                 case EffectType.centerUnfolding:
-                    this.effect_par.scaleX = 0;
-                    cc.tween(this.effect_par)
-                        .to(0.15, { scaleX: 1 })
-                        .start()
+                    mk.tween.scaleX(this.effect_par);
                     break;
                 case EffectType.rightIn:
                     this.effect_par.active = true;
@@ -100,19 +94,14 @@ export default class EffectOpenAndClose extends cc.Component {
      * 关闭打开效果
      * @param cb 结束回调
      */
-    public hideEffect(cb: Function = null) {
+    public hideEffect(cb?: Function) {
         if (this.effect_par) {
             switch (this.close_effect) {
                 case EffectType.none:
                     cb && cb();
                     break;
                 case EffectType.scale:
-                    cc.tween(this.effect_par)
-                        .to(0.15, { scale: 0 })
-                        .call(() => {
-                            cb && cb();
-                        })
-                        .start()
+                    mk.tween.scale(this.effect_par, 0.15, 1, 0, cb);
                     break;
                 case EffectType.scaleToPoint:
                     if (this.close_toPoint == "") {

+ 5 - 0
assets/script/mk/system/MKSystem.ts

@@ -18,6 +18,7 @@ import ATSDKMgr from "../sdk/ad/toppon/AnyThinkAdsMgr/ATSDKMgr";
 import AudioSystem from "./AudioSystem";
 import TipSystem from "./TipSystem";
 import PoolSystem from "./PoolSystem";
+import TweenUtil from "../utils/TweenUtil";
 
 /**
  * @description mk系统
@@ -61,6 +62,10 @@ class MKSystem {
     public get math(): MathUtil {
         return this._math || (this._math = new MathUtil());
     }
+    private _tween: TweenUtil;
+    public get tween(): TweenUtil {
+        return this._tween || (this._tween = new TweenUtil())
+    }
 
     /** SDK */
     private _bugly: BuglySDK;

+ 30 - 1
assets/script/mk/utils/TweenUtil.ts

@@ -6,5 +6,34 @@ const { ccclass, property } = cc._decorator;
  */
 @ccclass
 export default class TweenUtil {
-    
+
+    /**
+     * 缩放效果
+     * @param node 动画节点
+     * @param time 动画时间
+     * @param start_scale 起始缩放属性
+     * @param end_scale 目标缩放属性
+     * @param complete_fun 完成回调
+     */
+    public scale(node: cc.Node, time: number = 0.15, start_scale: number = 0, end_scale: number = 1, complete_fun?: Function) {
+        node.scale = start_scale;
+        let scale1 = cc.tween().to(time, { scale: end_scale });
+        let call1 = cc.tween().call(() => { complete_fun && complete_fun(); })
+        cc.tween(node).then(scale1).then(call1).start()
+    }
+
+    /**
+    * 缩放效果
+    * @param node 动画节点
+    * @param time 动画时间
+    * @param start_scale 起始缩放属性
+    * @param end_scale 目标缩放属性
+    * @param complete_fun 完成回调
+    */
+    public scaleX(node: cc.Node, time: number = 0.15, start_scale: number = 0, end_scale: number = 1, complete_fun?: Function) {
+        node.scaleX = start_scale;
+        let scale1 = cc.tween().to(time, { scaleX: end_scale });
+        let call1 = cc.tween().call(() => { complete_fun && complete_fun(); })
+        cc.tween(node).then(scale1).then(call1).start()
+    }
 }