1.修复首页ScrollView滚动焦点框错乱
2.修复首页高分排行榜选中效果展示 3.修复首页和分类页的翻页功能 4.修复首页焦点显示和隐藏错乱的问题
| 1 | [ | ||
| 2 | { | ||
| 3 | "__type__": "cc.SceneAsset", | ||
| 4 | "_name": "", | ||
| 5 | "_objFlags": 0, | ||
| 6 | "_native": "", | ||
| 7 | "scene": { | ||
| 8 | "__id__": 1 | ||
| 9 | } | ||
| 10 | }, | ||
| 11 | { | ||
| 12 | "__type__": "cc.Scene", | ||
| 13 | "_objFlags": 0, | ||
| 14 | "_parent": null, | ||
| 15 | "_children": [ | ||
| 16 | { | ||
| 17 | "__id__": 2 | ||
| 18 | }, | ||
| 19 | { | ||
| 20 | "__id__": 7 | ||
| 21 | } | ||
| 22 | ], | ||
| 23 | "_active": true, | ||
| 24 | "_components": [], | ||
| 25 | "_prefab": null, | ||
| 26 | "_opacity": 255, | ||
| 27 | "_color": { | ||
| 28 | "__type__": "cc.Color", | ||
| 29 | "r": 255, | ||
| 30 | "g": 255, | ||
| 31 | "b": 255, | ||
| 32 | "a": 255 | ||
| 33 | }, | ||
| 34 | "_contentSize": { | ||
| 35 | "__type__": "cc.Size", | ||
| 36 | "width": 0, | ||
| 37 | "height": 0 | ||
| 38 | }, | ||
| 39 | "_anchorPoint": { | ||
| 40 | "__type__": "cc.Vec2", | ||
| 41 | "x": 0, | ||
| 42 | "y": 0 | ||
| 43 | }, | ||
| 44 | "_trs": { | ||
| 45 | "__type__": "TypedArray", | ||
| 46 | "ctor": "Float32Array", | ||
| 47 | "array": [ | ||
| 48 | 0, | ||
| 49 | 0, | ||
| 50 | 0, | ||
| 51 | 0, | ||
| 52 | 0, | ||
| 53 | 0, | ||
| 54 | 1, | ||
| 55 | 1, | ||
| 56 | 1, | ||
| 57 | 1 | ||
| 58 | ] | ||
| 59 | }, | ||
| 60 | "_is3DNode": true, | ||
| 61 | "_groupIndex": 0, | ||
| 62 | "groupIndex": 0, | ||
| 63 | "autoReleaseAssets": false, | ||
| 64 | "_id": "534a7ff1-b31e-45c5-968b-c8245ff12b6d" | ||
| 65 | }, | ||
| 66 | { | ||
| 67 | "__type__": "cc.Node", | ||
| 68 | "_name": "Canvas", | ||
| 69 | "_objFlags": 0, | ||
| 70 | "_parent": { | ||
| 71 | "__id__": 1 | ||
| 72 | }, | ||
| 73 | "_children": [ | ||
| 74 | { | ||
| 75 | "__id__": 3 | ||
| 76 | } | ||
| 77 | ], | ||
| 78 | "_active": true, | ||
| 79 | "_components": [ | ||
| 80 | { | ||
| 81 | "__id__": 5 | ||
| 82 | }, | ||
| 83 | { | ||
| 84 | "__id__": 6 | ||
| 85 | } | ||
| 86 | ], | ||
| 87 | "_prefab": null, | ||
| 88 | "_opacity": 255, | ||
| 89 | "_color": { | ||
| 90 | "__type__": "cc.Color", | ||
| 91 | "r": 255, | ||
| 92 | "g": 255, | ||
| 93 | "b": 255, | ||
| 94 | "a": 255 | ||
| 95 | }, | ||
| 96 | "_contentSize": { | ||
| 97 | "__type__": "cc.Size", | ||
| 98 | "width": 1280, | ||
| 99 | "height": 720 | ||
| 100 | }, | ||
| 101 | "_anchorPoint": { | ||
| 102 | "__type__": "cc.Vec2", | ||
| 103 | "x": 0.5, | ||
| 104 | "y": 0.5 | ||
| 105 | }, | ||
| 106 | "_trs": { | ||
| 107 | "__type__": "TypedArray", | ||
| 108 | "ctor": "Float32Array", | ||
| 109 | "array": [ | ||
| 110 | 640, | ||
| 111 | 360, | ||
| 112 | 0, | ||
| 113 | 0, | ||
| 114 | 0, | ||
| 115 | 0, | ||
| 116 | 1, | ||
| 117 | 1, | ||
| 118 | 1, | ||
| 119 | 1 | ||
| 120 | ] | ||
| 121 | }, | ||
| 122 | "_eulerAngles": { | ||
| 123 | "__type__": "cc.Vec3", | ||
| 124 | "x": 0, | ||
| 125 | "y": 0, | ||
| 126 | "z": 0 | ||
| 127 | }, | ||
| 128 | "_skewX": 0, | ||
| 129 | "_skewY": 0, | ||
| 130 | "_is3DNode": false, | ||
| 131 | "_groupIndex": 0, | ||
| 132 | "groupIndex": 0, | ||
| 133 | "_id": "f4Iimnh+lIh4RhpGab/gGR" | ||
| 134 | }, | ||
| 135 | { | ||
| 136 | "__type__": "cc.Node", | ||
| 137 | "_name": "Main Camera", | ||
| 138 | "_objFlags": 0, | ||
| 139 | "_parent": { | ||
| 140 | "__id__": 2 | ||
| 141 | }, | ||
| 142 | "_children": [], | ||
| 143 | "_active": true, | ||
| 144 | "_components": [ | ||
| 145 | { | ||
| 146 | "__id__": 4 | ||
| 147 | } | ||
| 148 | ], | ||
| 149 | "_prefab": null, | ||
| 150 | "_opacity": 255, | ||
| 151 | "_color": { | ||
| 152 | "__type__": "cc.Color", | ||
| 153 | "r": 255, | ||
| 154 | "g": 255, | ||
| 155 | "b": 255, | ||
| 156 | "a": 255 | ||
| 157 | }, | ||
| 158 | "_contentSize": { | ||
| 159 | "__type__": "cc.Size", | ||
| 160 | "width": 0, | ||
| 161 | "height": 0 | ||
| 162 | }, | ||
| 163 | "_anchorPoint": { | ||
| 164 | "__type__": "cc.Vec2", | ||
| 165 | "x": 0.5, | ||
| 166 | "y": 0.5 | ||
| 167 | }, | ||
| 168 | "_trs": { | ||
| 169 | "__type__": "TypedArray", | ||
| 170 | "ctor": "Float32Array", | ||
| 171 | "array": [ | ||
| 172 | 0, | ||
| 173 | 0, | ||
| 174 | 416.5582275390625, | ||
| 175 | 0, | ||
| 176 | 0, | ||
| 177 | 0, | ||
| 178 | 1, | ||
| 179 | 1, | ||
| 180 | 1, | ||
| 181 | 1 | ||
| 182 | ] | ||
| 183 | }, | ||
| 184 | "_eulerAngles": { | ||
| 185 | "__type__": "cc.Vec3", | ||
| 186 | "x": 0, | ||
| 187 | "y": 0, | ||
| 188 | "z": 0 | ||
| 189 | }, | ||
| 190 | "_skewX": 0, | ||
| 191 | "_skewY": 0, | ||
| 192 | "_is3DNode": false, | ||
| 193 | "_groupIndex": 0, | ||
| 194 | "groupIndex": 0, | ||
| 195 | "_id": "10WUQRPNFCs4qkE2/2rly6" | ||
| 196 | }, | ||
| 197 | { | ||
| 198 | "__type__": "cc.Camera", | ||
| 199 | "_name": "", | ||
| 200 | "_objFlags": 0, | ||
| 201 | "node": { | ||
| 202 | "__id__": 3 | ||
| 203 | }, | ||
| 204 | "_enabled": true, | ||
| 205 | "_cullingMask": 4294967295, | ||
| 206 | "_clearFlags": 7, | ||
| 207 | "_backgroundColor": { | ||
| 208 | "__type__": "cc.Color", | ||
| 209 | "r": 0, | ||
| 210 | "g": 0, | ||
| 211 | "b": 0, | ||
| 212 | "a": 255 | ||
| 213 | }, | ||
| 214 | "_depth": -1, | ||
| 215 | "_zoomRatio": 1, | ||
| 216 | "_targetTexture": null, | ||
| 217 | "_fov": 60, | ||
| 218 | "_orthoSize": 10, | ||
| 219 | "_nearClip": 1, | ||
| 220 | "_farClip": 4096, | ||
| 221 | "_ortho": true, | ||
| 222 | "_rect": { | ||
| 223 | "__type__": "cc.Rect", | ||
| 224 | "x": 0, | ||
| 225 | "y": 0, | ||
| 226 | "width": 1, | ||
| 227 | "height": 1 | ||
| 228 | }, | ||
| 229 | "_renderStages": 1, | ||
| 230 | "_id": "92C/6VZexC8JWe/orQREQg" | ||
| 231 | }, | ||
| 232 | { | ||
| 233 | "__type__": "cc.Canvas", | ||
| 234 | "_name": "", | ||
| 235 | "_objFlags": 0, | ||
| 236 | "node": { | ||
| 237 | "__id__": 2 | ||
| 238 | }, | ||
| 239 | "_enabled": true, | ||
| 240 | "_designResolution": { | ||
| 241 | "__type__": "cc.Size", | ||
| 242 | "width": 1280, | ||
| 243 | "height": 720 | ||
| 244 | }, | ||
| 245 | "_fitWidth": false, | ||
| 246 | "_fitHeight": true, | ||
| 247 | "_id": "a8MzCrdoZOZYqjzgHbUan+" | ||
| 248 | }, | ||
| 249 | { | ||
| 250 | "__type__": "e8db1NJMMxF7IBsJ0cUPQXd", | ||
| 251 | "_name": "", | ||
| 252 | "_objFlags": 0, | ||
| 253 | "node": { | ||
| 254 | "__id__": 2 | ||
| 255 | }, | ||
| 256 | "_enabled": true, | ||
| 257 | "_cLog": null, | ||
| 258 | "_cApplication": null, | ||
| 259 | "_cFocus": null, | ||
| 260 | "_aFocusTargets": [], | ||
| 261 | "_fiCurrentFocus": null, | ||
| 262 | "_iSceneStatus": 0, | ||
| 263 | "_fFocusScaleFactor": 1.06, | ||
| 264 | "_bIsFocusInit": false, | ||
| 265 | "_oSceneContext": null, | ||
| 266 | "_oNextSceneParameter": null, | ||
| 267 | "_compPlayer": null, | ||
| 268 | "_aTouchContext": [], | ||
| 269 | "_defaultBackScene": null, | ||
| 270 | "_oFocusScaleFactorInfo": null, | ||
| 271 | "_id": "91dQYvnpBPdaAKZIVcvWvT" | ||
| 272 | }, | ||
| 273 | { | ||
| 274 | "__type__": "cc.Node", | ||
| 275 | "_name": "PlayerContainer", | ||
| 276 | "_objFlags": 0, | ||
| 277 | "_parent": { | ||
| 278 | "__id__": 1 | ||
| 279 | }, | ||
| 280 | "_children": [], | ||
| 281 | "_active": true, | ||
| 282 | "_components": [], | ||
| 283 | "_prefab": null, | ||
| 284 | "_opacity": 255, | ||
| 285 | "_color": { | ||
| 286 | "__type__": "cc.Color", | ||
| 287 | "r": 255, | ||
| 288 | "g": 255, | ||
| 289 | "b": 255, | ||
| 290 | "a": 255 | ||
| 291 | }, | ||
| 292 | "_contentSize": { | ||
| 293 | "__type__": "cc.Size", | ||
| 294 | "width": 0, | ||
| 295 | "height": 0 | ||
| 296 | }, | ||
| 297 | "_anchorPoint": { | ||
| 298 | "__type__": "cc.Vec2", | ||
| 299 | "x": 0.5, | ||
| 300 | "y": 0.5 | ||
| 301 | }, | ||
| 302 | "_trs": { | ||
| 303 | "__type__": "TypedArray", | ||
| 304 | "ctor": "Float32Array", | ||
| 305 | "array": [ | ||
| 306 | 640, | ||
| 307 | 360, | ||
| 308 | 0, | ||
| 309 | 0, | ||
| 310 | 0, | ||
| 311 | 0, | ||
| 312 | 1, | ||
| 313 | 1, | ||
| 314 | 1, | ||
| 315 | 1 | ||
| 316 | ] | ||
| 317 | }, | ||
| 318 | "_eulerAngles": { | ||
| 319 | "__type__": "cc.Vec3", | ||
| 320 | "x": 0, | ||
| 321 | "y": 0, | ||
| 322 | "z": 0 | ||
| 323 | }, | ||
| 324 | "_skewX": 0, | ||
| 325 | "_skewY": 0, | ||
| 326 | "_is3DNode": false, | ||
| 327 | "_groupIndex": 0, | ||
| 328 | "groupIndex": 0, | ||
| 329 | "_id": "e4YGtpvMlI1ITlWZq9AqbS" | ||
| 330 | } | ||
| 331 | ] | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 1 | module.exports = cc.Class({ | ||
| 2 | extends: cc.Component, | ||
| 3 | |||
| 4 | properties: { | ||
| 5 | info: cc.Label, | ||
| 6 | fileProgress: cc.ProgressBar, | ||
| 7 | fileLabel: cc.Label, | ||
| 8 | close: cc.Node, | ||
| 9 | updateBtn: cc.Node | ||
| 10 | }, | ||
| 11 | |||
| 12 | onLoad () { | ||
| 13 | this.close.on(cc.Node.EventType.TOUCH_END, function () { | ||
| 14 | this.node.parent.active = false; | ||
| 15 | }, this); | ||
| 16 | } | ||
| 17 | }); | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 1 | cc.Class({ | ||
| 2 | extends: cc.Component, | ||
| 3 | |||
| 4 | properties: { | ||
| 5 | // foo: { | ||
| 6 | // default: null, // The default value will be used only when the component attaching | ||
| 7 | // to a node for the first time | ||
| 8 | // url: cc.Texture2D, // optional, default is typeof default | ||
| 9 | // serializable: true, // optional, default is true | ||
| 10 | // visible: true, // optional, default is true | ||
| 11 | // displayName: 'Foo', // optional | ||
| 12 | // readonly: false, // optional, default is false | ||
| 13 | // }, | ||
| 14 | // ... | ||
| 15 | }, | ||
| 16 | |||
| 17 | // use this for initialization | ||
| 18 | onLoad: function () { | ||
| 19 | |||
| 20 | }, | ||
| 21 | |||
| 22 | statics: { | ||
| 23 | //MAIN_NAVIGATOR_PROMOTION:'MainNavigator', | ||
| 24 | //写死推荐位名称 | ||
| 25 | MAIN_NAVIGATOR_PROMOTION: 'MainNavigator3_0',//音乐大厅推荐位 | ||
| 26 | MAIN_LEFT_NAVIGATOR_PROMOTION: "MainNavigator3_1",//首页左侧导航推荐位 | ||
| 27 | MAIN_RIGHT_NAVIGATOR_PROMOTION: "rightNavigator3_1",//首页右侧瀑布流推荐位 | ||
| 28 | MAIN_TOP_NAVIGATOR_PROMOTION: "MainServiceFeature3_1",//首页顶部推荐位 | ||
| 29 | COLLECTION_LIST_PROMOTION: "UserCollectionNavigator3_1",//我的收藏左侧推荐位 | ||
| 30 | FREE_LIST_PROMOTION: "FreeSongListNavigator3_1",//限时免费左侧推荐位 | ||
| 31 | HISTORY_LIST_PROMOTION: "RecentPlayedListNavigator",//最近播放左侧推荐位 | ||
| 32 | SUBJECT_LIST_PROMOTION: "SubjectListNavigator3_1",//专题列表左侧推荐位 | ||
| 33 | TAG_LIST_PROMOTION: "TheNewestNavigator3_1",//最近更新左侧推荐位 | ||
| 34 | RANK_LIST_PROMOTION: "SearchSongList3_1",//排行榜推荐位 | ||
| 35 | SEARCH_NAVIGATOR_LIST_PROMOTION: "HotSearchNavigator3_1",//搜索应用导航推荐位 | ||
| 36 | SUBINDEX_CONFIG_PROMOTION: "MainSubIndexConfig",//副首页各应用推荐位配置推荐位 | ||
| 37 | //SUBSCRIBE_PROMOTION : "orderDetail",//订购推荐位 | ||
| 38 | SUBSCRIBE_PROMOTION1: "3_2orderMode42",//订购推荐位导航 | ||
| 39 | SUBSCRIBE_PROMOTION2: "3_2orderButton43",//订购推荐位按钮 | ||
| 40 | SUBSCRIBE_PROMOTION3: "3_2orderDescript44",//订购推荐位描述 | ||
| 41 | MAIN_2_DETAINMENT_PROMOTION: "Index2Dtnmnt",//进入应用引导推荐位 | ||
| 42 | MINE_INDEX_PROMOTION: "MainMyInfoFeature3_1",//我的首页推荐位 | ||
| 43 | SHOP_ADVISEMENT_PROMOTION: "MainMallFeature3_0",//商城广告推荐位 | ||
| 44 | |||
| 45 | SCREEN_HEIGHT: 720.0, | ||
| 46 | |||
| 47 | //应用id | ||
| 48 | DOLPHINS_APPID: 'td71b187fedb257ac0', | ||
| 49 | KTV_APPID: 'td5d69e9b2187b4b04', | ||
| 50 | CHILDREN_APPID: 'td817a49dbf06018d4', | ||
| 51 | RADIO_APPID: 'td5b39abe465dd7475', | ||
| 52 | VARIETY_RADIO_APPID: 'tdf35c7fa7d04e9420', | ||
| 53 | VARIETY_VIDEO_APPID: 'td4fdce8945bdab9e7', | ||
| 54 | VARIETY_VOCAL_APPID: 'td06824d0c4376f3e2', | ||
| 55 | PERSONAL_SHOW_APPID: 'td80b6647556d41cfe', | ||
| 56 | SQUARE_DANCE_APPID: 'td4a75b565ad67da7a', | ||
| 57 | VOCAL_CONCERT_APPID: 'td77e42711d65e47fd', | ||
| 58 | MV_APPID: 'td7402250ed93cc768', | ||
| 59 | |||
| 60 | //==============根据平台需求需要调整值 开始 | ||
| 61 | DAILY_RECOMMEND_CATEGORY_ID: 985, //每日推荐 1196 category_a9c34518-1c7a-48f9-a689-df10876c96a4 "category_bc4359d9-377e-4fae-9b49-0cc7ccc7d6c5" 鹏博士187 | ||
| 62 | //KTV_ALL_SONGS_CATEGORY:29,//当贝id | ||
| 63 | KTV_ALL_SONGS_CATEGORY: 38, | ||
| 64 | VARIETY_VOCAL_ALL_SONGS_CATEGORY: 65, | ||
| 65 | //背景皮肤 | ||
| 66 | //SCENE_SKIN_CATEGORY_ID : "1252",当贝 | ||
| 67 | SCENE_SKIN_CATEGORY_ID: "1199", | ||
| 68 | SCENE_RADIO_SKIN_CATEGORY_ID: "1195", | ||
| 69 | //默认推荐分类id //当贝 | ||
| 70 | // APP_RECOMMEND_CATEGORY_ID : { | ||
| 71 | // 'td5d69e9b2187b4b04' : 1100, | ||
| 72 | // 'td77e42711d65e47fd' : 1257, | ||
| 73 | // 'td7402250ed93cc768' : 1258, | ||
| 74 | // 'td4a75b565ad67da7a' : 1259, | ||
| 75 | // 'td817a49dbf06018d4' : 1260, | ||
| 76 | // }, | ||
| 77 | APP_RECOMMEND_CATEGORY_ID: { | ||
| 78 | 'td5d69e9b2187b4b04': 980,//1100, | ||
| 79 | 'td77e42711d65e47fd': 1121,//1257, | ||
| 80 | 'td7402250ed93cc768': 1122,//1258, | ||
| 81 | 'td4a75b565ad67da7a': 1123,//1259, | ||
| 82 | 'td817a49dbf06018d4': 1124,//1260, | ||
| 83 | }, | ||
| 84 | |||
| 85 | //纯k热门分类id | ||
| 86 | KTV_HOT_CATEGORY_ROOT_ID: 39, | ||
| 87 | //综艺现场分类id | ||
| 88 | MV_HOT_CATEGORY_ROOT_ID: 7, | ||
| 89 | // DETAIN_SUBJECT_ID : 53,//当贝挽留专题id | ||
| 90 | DETAIN_SUBJECT_ID: 13, | ||
| 91 | //==============根据平台需求需要调整值 结束 | ||
| 92 | |||
| 93 | FEMALE: 0, | ||
| 94 | MALE: 1, | ||
| 95 | BAND: 2, | ||
| 96 | |||
| 97 | VOCAL_CONCERT_FILTER: '全部,欧美,港台,大陆', //此功能暂时关闭 | ||
| 98 | ADD_2_PLAY_LIST_CEIL_PROMPT: ["不要太贪心", "先听完已点歌曲再点哦!"], | ||
| 99 | NO_MEDIA_TIP: "未检测到节目,即将返回到上一页", | ||
| 100 | NO_MEDIA_INFO_TIP: "节目未上线,即将返回到上一页", | ||
| 101 | COMING_SOON: "敬请期待!", | ||
| 102 | QUIT_COMMON_TIP: "退订成功!", | ||
| 103 | QUIT_COMMON_TIP2: "订购关系已过期或者已退订!", | ||
| 104 | QUIT_COMMON_TIP3: "退订异常!", | ||
| 105 | ORDER_SUCCESS: '订购成功!', | ||
| 106 | ORDER_EXCEPTION: '网络异常,请重试', | ||
| 107 | ORDER_ENTER: '请稍后...', | ||
| 108 | |||
| 109 | NEWTV_APPID: '4bf34d0e9acf4aa', | ||
| 110 | CONTENT_ID: '2019121018210000000001', | ||
| 111 | |||
| 112 | //这个值应该动态获取,每次进入应用或每次发起包月订购(按次不支持退订)时记录下来,否则退订会返回“订购关系不存在” | ||
| 113 | QUIT_PRODUCT_CODE: '8802000245', //退订productCode | ||
| 114 | |||
| 115 | } | ||
| 116 | // called every frame, uncomment this function to activate update callback | ||
| 117 | // update: function (dt) { | ||
| 118 | |||
| 119 | // }, | ||
| 120 | }); |
| 1 | cc.Class({ | ||
| 2 | extends: cc.Component, | ||
| 3 | |||
| 4 | properties: { | ||
| 5 | // foo: { | ||
| 6 | // default: null, // The default value will be used only when the component attaching | ||
| 7 | // to a node for the first time | ||
| 8 | // url: cc.Texture2D, // optional, default is typeof default | ||
| 9 | // serializable: true, // optional, default is true | ||
| 10 | // visible: true, // optional, default is true | ||
| 11 | // displayName: 'Foo', // optional | ||
| 12 | // readonly: false, // optional, default is false | ||
| 13 | // }, | ||
| 14 | // ... | ||
| 15 | }, | ||
| 16 | // use this for initialization | ||
| 17 | onLoad: function () { | ||
| 18 | |||
| 19 | }, | ||
| 20 | statics: { | ||
| 21 | |||
| 22 | VERSION: "3.1.06", | ||
| 23 | |||
| 24 | SCREEN_WIDTH: 1280.0, | ||
| 25 | SCREEN_HEIGHT: 720.0, | ||
| 26 | |||
| 27 | MOVE_DIRECTION_UP: 0, | ||
| 28 | MOVE_DIRECTION_RIGHT: 1, | ||
| 29 | MOVE_DIRECTION_DOWN: 2, | ||
| 30 | MOVE_DIRECTION_LEFT: 3, | ||
| 31 | |||
| 32 | |||
| 33 | FOCUS_FLY_DURATION: 0.2, | ||
| 34 | FOCUS_BREATH_DURATION: 0.8, | ||
| 35 | |||
| 36 | //Action Tag | ||
| 37 | FEATURE_NODE_TRANSFER: 1, | ||
| 38 | FOCUS_CELL_TRANSFER: 1, | ||
| 39 | FOCUS_CONTAINER_TRANSFER: 1, | ||
| 40 | FOCUS_CONTAINER_BREATH: 2, | ||
| 41 | FOCUS_CONTAINER_JOGGLE: 3, | ||
| 42 | |||
| 43 | |||
| 44 | |||
| 45 | |||
| 46 | OVERLENGTH_MOVING: 4, | ||
| 47 | |||
| 48 | SCROLL_BY_FOCUS_CHANGE: 5, | ||
| 49 | |||
| 50 | |||
| 51 | API_SORT_ASC: 'asc', | ||
| 52 | API_SORT_DESC: 'desc', | ||
| 53 | |||
| 54 | FEMALE: 0, | ||
| 55 | MALE: 1, | ||
| 56 | BAND: 2, | ||
| 57 | |||
| 58 | ANDROID_KEY: { | ||
| 59 | back: 6, | ||
| 60 | up: 1003, | ||
| 61 | right: 1001, | ||
| 62 | down: 1004, | ||
| 63 | left: 1000, | ||
| 64 | enter: 1005 | ||
| 65 | }, | ||
| 66 | |||
| 67 | |||
| 68 | BUSINESS_PARAMETER: { | ||
| 69 | // {:, | ||
| 70 | |||
| 71 | }, | ||
| 72 | |||
| 73 | |||
| 74 | OFFICIAL_PLATFORM_IP: 'http://139.196.192.33/', | ||
| 75 | TEST_PLATFORM_IP: 'http://139.196.192.242:8081/', | ||
| 76 | |||
| 77 | // TOPDRAW_API_SERVER : 'http://139.196.192.242:8081/hyperion.chimera/', | ||
| 78 | // TOPDRAW_IMAGE_SERVER : 'http://139.196.192.242:8081/hyperion.resource/', | ||
| 79 | // TOPDRAW_API_SERVER : 'http://39.130.160.199:8081/hyperion.chimera/', | ||
| 80 | // TOPDRAW_IMAGE_SERVER : 'http://39.130.160.199:8081/hyperion.resource/', | ||
| 81 | |||
| 82 | // TOPDRAW_LOG_SERVER:'http://139.196.37.202/sparrow.resource/', | ||
| 83 | // // BI_BASE_PATH : 'http://139.196.192.242:81/1.gif', | ||
| 84 | // BI_BASE_PATH : 'http://39.130.160.23:81/1.gif', | ||
| 85 | |||
| 86 | |||
| 87 | |||
| 88 | //2019.8.16修改新服务器 | ||
| 89 | TOPDRAW_API_SERVER: 'http://112.47.3.216:8080/1/jinxueting/', | ||
| 90 | TOPDRAW_IMAGE_SERVER: 'http://112.47.3.216:8080/1/jinxueting/', | ||
| 91 | |||
| 92 | TOPDRAW_LOG_SERVER: 'http://139.196.37.202/sparrow.resource/', | ||
| 93 | // BI_BASE_PATH : 'http://139.196.192.242:81/1.gif', | ||
| 94 | BI_BASE_PATH: 'http://melody.hi.a170.ottcn.com:80/1.gif', | ||
| 95 | BI_BASE_PATH_NEW: 'http://melody.hi.a170.ottcn.com:80/2.gif', | ||
| 96 | |||
| 97 | |||
| 98 | TV_LINK_ACTION_CLICK: 100, | ||
| 99 | TV_LINK_ACTION_HOVER: 101, | ||
| 100 | |||
| 101 | API_TOKEN: 'dd4b1968eb5b417e834c2687e23d2471', //c744677d2c4e47e5987c8573325d2c56 | ||
| 102 | // TEST_API_TOKEN:'9b16e7b8ecc64a1d9df89bd394d6a06b', | ||
| 103 | TEST_API_TOKEN: 'dd4b1968eb5b417e834c2687e23d2471', | ||
| 104 | TEST_PLAY_URL: "http://39.130.192.215:6060/000000003200/866b5508be484775905dcfcdc9f18e3f/index.m3u8", | ||
| 105 | USER_ID: '', | ||
| 106 | AUTH_STATUS: 0, //鉴权默认不成功 fix jerry | ||
| 107 | AUTH_PRODUCT: "", | ||
| 108 | AUTHORIZATIONNUM: "", | ||
| 109 | DEBUG_MODE: 0,//0非调试模式,1调试模式 | ||
| 110 | //PLAY_LIST_ITEM_COUNT_LIMIT : 100, | ||
| 111 | PLAY_LIST_ITEM_COUNT_LIMIT: 100000,//本来上限是100首,因为需求的改来改去,我先把这里改成100000,糊一下上限的问题 | ||
| 112 | ADD_2_PLAY_LIST_CEIL_PROMPT_DURATION: 5, | ||
| 113 | BACK_WITH_DETAIN: true, | ||
| 114 | //TEST_API_TOKEN:'6b071a064fb047bbbd47c5b3326f34d5', B2C 的 | ||
| 115 | |||
| 116 | |||
| 117 | _bIsHotUpdate: false, | ||
| 118 | PRODUCT_LIST: null, | ||
| 119 | VALID_PLAY_TIME_DURATION: 5 * 60, | ||
| 120 | MEDIA_INVALID_PROMPT: '该地区暂未上线本歌曲,马上为您播放下一首哦!', | ||
| 121 | g_strCurrentSceneName: "", | ||
| 122 | g_iPlayerPlayedTime: 0, | ||
| 123 | g_strPlayerPlayedId: null, | ||
| 124 | g_oSpriteFrame: {}, | ||
| 125 | g_oSpriteFrameURL: {}, | ||
| 126 | g_oTextureInUsage: {}, | ||
| 127 | g_oRomoteURLTexture: {}, | ||
| 128 | g_aDebugKey: ["up", "up", "up", "up", "right", "right", "right", "down", "down", "left"], | ||
| 129 | g_iDebugIndex: 0, | ||
| 130 | loadRes: function (strResourceURL,/*iResourceIndex,*/onSuccess, onError, oScope) { | ||
| 131 | cc.loader.loadRes(strResourceURL, | ||
| 132 | function (error, loadedResource) { | ||
| 133 | cc.g_oUsedPrefabPaths[strResourceURL] = strResourceURL; | ||
| 134 | if (error) { | ||
| 135 | if (null != oScope) { | ||
| 136 | onError.call(oScope, error); | ||
| 137 | } else { | ||
| 138 | onError(error); | ||
| 139 | } | ||
| 140 | } else { | ||
| 141 | if (null != oScope) { | ||
| 142 | onSuccess.call(oScope, loadedResource/*,iResourceIndex*/); | ||
| 143 | } else { | ||
| 144 | onSuccess(loadedResource/*,iResourceIndex*/); | ||
| 145 | } | ||
| 146 | } | ||
| 147 | } | ||
| 148 | ); | ||
| 149 | |||
| 150 | }, | ||
| 151 | setTimeout: function (onTimeComplete, iDuration, oScope, argements) { | ||
| 152 | |||
| 153 | /* | ||
| 154 | window.setTimeout(onTimeComplete,iDuration,); | ||
| 155 | |||
| 156 | |||
| 157 | cc.loader.loadRes(strResourceURL, | ||
| 158 | function(error,loadedResource){ | ||
| 159 | if (error){ | ||
| 160 | if(null!=oScope){ | ||
| 161 | onError.call(oScope,error); | ||
| 162 | }else{ | ||
| 163 | onError(error); | ||
| 164 | } | ||
| 165 | }else{ | ||
| 166 | if(null!=oScope){ | ||
| 167 | onSuccess.call(oScope,loadedResource); | ||
| 168 | }else{ | ||
| 169 | onSuccess(loadedResource); | ||
| 170 | } | ||
| 171 | } | ||
| 172 | } | ||
| 173 | ); | ||
| 174 | */ | ||
| 175 | }, | ||
| 176 | getAbsolutePositionX: function (node) { | ||
| 177 | |||
| 178 | }, | ||
| 179 | getAbsolutePositionY: function (node) { | ||
| 180 | |||
| 181 | }, | ||
| 182 | promiseAjax: function () { | ||
| 183 | |||
| 184 | }, | ||
| 185 | |||
| 186 | getNodePath: function (node) { | ||
| 187 | let strPath = ""; | ||
| 188 | if (node) { | ||
| 189 | while (node.parent && node.parent.parent) {//不算TopCanvas | ||
| 190 | strPath = "/" + node.name + strPath; | ||
| 191 | node = node.parent; | ||
| 192 | } | ||
| 193 | } | ||
| 194 | return strPath.substring(1); | ||
| 195 | }, | ||
| 196 | getX: function (tempNode) { | ||
| 197 | let fCenterX = 0; | ||
| 198 | while (tempNode.parent && tempNode.parent.parent) {//不算TopCanvas | ||
| 199 | fCenterX += tempNode._fX || tempNode.x; | ||
| 200 | tempNode = tempNode.parent; | ||
| 201 | } | ||
| 202 | return fCenterX; | ||
| 203 | }, | ||
| 204 | getY: function (tempNode) { | ||
| 205 | let fCenterY = 0; | ||
| 206 | while (tempNode.parent.parent) {//不算TopCanvas | ||
| 207 | //cc.log(tempNode.name+" Y: "+tempNode.y) | ||
| 208 | fCenterY += tempNode._fY || tempNode.y; | ||
| 209 | tempNode = tempNode.parent; | ||
| 210 | } | ||
| 211 | return fCenterY; | ||
| 212 | }, | ||
| 213 | |||
| 214 | /** | ||
| 215 | * 用于合并对象 By Eva | ||
| 216 | * @param target | ||
| 217 | * @param firstSource | ||
| 218 | * @returns {any} | ||
| 219 | */ | ||
| 220 | assign: function (target, firstSource) { | ||
| 221 | if (target === undefined || target === null) | ||
| 222 | throw new TypeError("Cannot convert first argument to object"); | ||
| 223 | var to = Object(target); | ||
| 224 | for (var i = 1; i < arguments.length; i++) { | ||
| 225 | var nextSource = arguments[i]; | ||
| 226 | if (nextSource === undefined || nextSource === null) continue; | ||
| 227 | var keysArray = Object.keys(Object(nextSource)); | ||
| 228 | for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex++) { | ||
| 229 | var nextKey = keysArray[nextIndex]; | ||
| 230 | var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey); | ||
| 231 | if (desc !== undefined && desc.enumerable) to[nextKey] = nextSource[nextKey]; | ||
| 232 | } | ||
| 233 | } | ||
| 234 | return to; | ||
| 235 | }, | ||
| 236 | |||
| 237 | renderSpriteByLocalImage: (localImgPath, sprite) => { | ||
| 238 | cc.loader.loadRes(localImgPath, cc.SpriteFrame, (err, spriteFrame) => { | ||
| 239 | if (err) { | ||
| 240 | cc.error(err.message || err); | ||
| 241 | return; | ||
| 242 | } | ||
| 243 | cc.log('Result should be a sprite frame: ' + (spriteFrame instanceof cc.SpriteFrame)); | ||
| 244 | sprite.spriteFrame = spriteFrame; | ||
| 245 | }); | ||
| 246 | }, | ||
| 247 | /** | ||
| 248 | * | ||
| 249 | * @param fnSuccess 成功操作 | ||
| 250 | * @param iDelayDuration 延迟时间 | ||
| 251 | * @param fnTimeout 超时操作 | ||
| 252 | * @param oScope 作用域 | ||
| 253 | * @param strTag 操作标签,防止重复操作 | ||
| 254 | * @returns {Function} | ||
| 255 | */ | ||
| 256 | timeoutify: function (fnSuccess, iDelayDuration, fnTimeout, oScope, strTag) { | ||
| 257 | oScope.scheduleOnce(function () { | ||
| 258 | !oScope["Request" + strTag + "Loaded"] && fnTimeout && fnTimeout.call(oScope); | ||
| 259 | oScope["Request" + strTag + "Timout"] = true; | ||
| 260 | }, iDelayDuration); | ||
| 261 | return function () { | ||
| 262 | //未超时 | ||
| 263 | if (!oScope["Request" + strTag + "Timout"]) { | ||
| 264 | oScope.unschedule(oScope.timeout); | ||
| 265 | fnSuccess.apply(oScope, arguments); | ||
| 266 | } | ||
| 267 | } | ||
| 268 | }, | ||
| 269 | uuid: function (len, radix) { | ||
| 270 | var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""); | ||
| 271 | var uuid = [], i; | ||
| 272 | radix = radix || chars.length; | ||
| 273 | if (len) { | ||
| 274 | for (i = 0; i < len; i++) uuid[i] = chars[0 | (eval('Math.random()') * radix)]; | ||
| 275 | } else { | ||
| 276 | var r; | ||
| 277 | uuid[8] = uuid[13] = uuid[18] = uuid[23] = "-"; | ||
| 278 | uuid[14] = "4"; | ||
| 279 | for (i = 0; i < 36; i++) { | ||
| 280 | if (!uuid[i]) { | ||
| 281 | r = 0 | (eval('Math.random()') * 16); | ||
| 282 | uuid[i] = chars[i == 19 ? (r & 0x3) | 0x8 : r]; | ||
| 283 | } | ||
| 284 | } | ||
| 285 | } | ||
| 286 | return uuid.join(""); | ||
| 287 | } | ||
| 288 | |||
| 289 | } | ||
| 290 | }); |
| 1 | var Common = require('Common'); | ||
| 2 | |||
| 3 | cc.Class({ | ||
| 4 | extends: cc.Component, | ||
| 5 | |||
| 6 | properties: { | ||
| 7 | |||
| 8 | // TODO: to be a real Component? | ||
| 9 | //_fLeft:0, | ||
| 10 | //_fTop:0, | ||
| 11 | //_fWidth:0, | ||
| 12 | //_fHeight:0, | ||
| 13 | //_oFocusNode:null,//deprecated | ||
| 14 | _strTVLink: '', | ||
| 15 | _bEnable: false, | ||
| 16 | _fScaleFactor: 1.06, | ||
| 17 | _bIgnoreZIndex: false, | ||
| 18 | _iFlyDelayTime: 0, | ||
| 19 | _iFocusWeight: 100, | ||
| 20 | }, | ||
| 21 | |||
| 22 | |||
| 23 | //ctor: function (fLeft,fTop,fWidth,fHeight,oFocusNode,strTVLink,bEnable,fnOnFocus,fnOnBlur) { | ||
| 24 | ctor: function () { | ||
| 25 | |||
| 26 | //this._fLeft=arguments[0]; | ||
| 27 | //this._fTop=arguments[1]; | ||
| 28 | //this._fWidth=arguments[2]; | ||
| 29 | //this._fHeight=arguments[3]; | ||
| 30 | //this._oFocusNode=arguments[4]; | ||
| 31 | this._strTVLink = arguments[0]; | ||
| 32 | this._bEnable = arguments[1]; | ||
| 33 | this._fnOnFocus = arguments[2]; | ||
| 34 | this._fnOnBlur = arguments[3]; | ||
| 35 | //this._fLeft=fLeft; | ||
| 36 | //this._fTop=fTop; | ||
| 37 | //this._fWidth=fWidth; | ||
| 38 | //this._fHeight=fHeight; | ||
| 39 | //this._oFocusNode=oFocusNode; | ||
| 40 | |||
| 41 | }, | ||
| 42 | |||
| 43 | init: function (/*fLeft,fTop,fWidth,fHeight,oFocusNode,*/strTVLink, bEnable, fnOnFocus, fnOnBlur, fScaleFactor) { | ||
| 44 | |||
| 45 | //this._fLeft=arguments[0]; | ||
| 46 | //this._fTop=arguments[1]; | ||
| 47 | //this._fWidth=arguments[2]; | ||
| 48 | //this._fHeight=arguments[3]; | ||
| 49 | //this._oFocusNode=arguments[4]; | ||
| 50 | this._strTVLink = strTVLink; | ||
| 51 | this._bEnable = bEnable; | ||
| 52 | this._fnOnFocus = fnOnFocus; | ||
| 53 | this._fnOnBlur = fnOnBlur; | ||
| 54 | this._fScaleFactor = fScaleFactor; | ||
| 55 | //this._fLeft=fLeft; | ||
| 56 | //this._fTop=fTop; | ||
| 57 | this._fWidth = 0; | ||
| 58 | this._fHeight = 0; | ||
| 59 | //this._oFocusNode=oFocusNode; | ||
| 60 | this._oProbeInfo = {}; | ||
| 61 | }, | ||
| 62 | |||
| 63 | // use this for initialization | ||
| 64 | onLoad: function () { | ||
| 65 | //气泡式向上传递 通常收不到 | ||
| 66 | //this.node.on('foucs', this._fnOnFocus || function(){},this); | ||
| 67 | //this.node.on('blur', this._fnOnBlur || function(){},this); | ||
| 68 | }, | ||
| 69 | |||
| 70 | |||
| 71 | setFlyDelayTime: function (iDuration) { | ||
| 72 | this._iFlyDelayTime = iDuration; | ||
| 73 | }, | ||
| 74 | getFlyDelayTime: function () { | ||
| 75 | return this._iFlyDelayTime; | ||
| 76 | }, | ||
| 77 | setFocusWeight: function (iWeight) { | ||
| 78 | this._iFocusWeight = iWeight; | ||
| 79 | }, | ||
| 80 | getFocusWeight: function () { | ||
| 81 | return this._iFocusWeight; | ||
| 82 | }, | ||
| 83 | getLeft: function () { | ||
| 84 | //return this._fLeft; | ||
| 85 | return Common.SCREEN_WIDTH / 2 + (this.getX() - this.node.width / 2); | ||
| 86 | }, | ||
| 87 | |||
| 88 | |||
| 89 | |||
| 90 | getTop: function () { | ||
| 91 | //return this._fTop; | ||
| 92 | return Common.SCREEN_HEIGHT / 2 - (this.getY() + this.node.height / 2); | ||
| 93 | }, | ||
| 94 | |||
| 95 | getX: function () { | ||
| 96 | return Common.getX(this.node); | ||
| 97 | }, | ||
| 98 | getY: function () { | ||
| 99 | return Common.getY(this.node); | ||
| 100 | }, | ||
| 101 | getWidth: function () { | ||
| 102 | //return this._fWidth; | ||
| 103 | return this._fWidth || this.node.width; //有时候设计上元素会交叉,所以找焦点的时候只能设置虚拟尺寸 | ||
| 104 | }, | ||
| 105 | setFakeWidth: function (fWidth) { | ||
| 106 | this._fWidth = fWidth; | ||
| 107 | }, | ||
| 108 | getHeight: function () { | ||
| 109 | return this._fHeight || this.node.height; | ||
| 110 | }, | ||
| 111 | |||
| 112 | |||
| 113 | setFakeHeight: function (fHeight) { | ||
| 114 | this._fHeight = fHeight; | ||
| 115 | }, | ||
| 116 | //getFocusNode:function(){ | ||
| 117 | // return this._oFocusNode; | ||
| 118 | //}, | ||
| 119 | //setFocusNode:function(oFocusNode){ | ||
| 120 | // this._oFocusNode=oFocusNode; | ||
| 121 | //}, | ||
| 122 | getTVLink: function () { | ||
| 123 | return this._strTVLink; | ||
| 124 | }, | ||
| 125 | setTVLink: function (strTVLink) { | ||
| 126 | this._strTVLink = strTVLink; | ||
| 127 | }, | ||
| 128 | getEnable: function () { | ||
| 129 | return this._bEnable; | ||
| 130 | }, | ||
| 131 | setEnable: function (bEnable) { | ||
| 132 | this._bEnable = bEnable; | ||
| 133 | // cc.log("改变节点Enable属性:" + this.node.name+" : "+bEnable); | ||
| 134 | }, | ||
| 135 | onFocus: function (fiFrom) { | ||
| 136 | if (this._fnOnFocus) { | ||
| 137 | this._fnOnFocus(fiFrom); | ||
| 138 | } | ||
| 139 | }, | ||
| 140 | onBlur: function (fiTo) { | ||
| 141 | if (this._fnOnBlur) { | ||
| 142 | this._fnOnBlur(fiTo); | ||
| 143 | } | ||
| 144 | }, | ||
| 145 | getScaleFactor: function () { | ||
| 146 | return this._fScaleFactor; | ||
| 147 | }, | ||
| 148 | setScaleFactor: function (fScaleFactor) { | ||
| 149 | this._fScaleFactor = fScaleFactor; | ||
| 150 | }, | ||
| 151 | ignoreZIndex: function (bool) { | ||
| 152 | this._bIgnoreZIndex = bool; | ||
| 153 | }, | ||
| 154 | setFocusProbeInfo: function (oInfo) { | ||
| 155 | this._oProbeInfo = oInfo; | ||
| 156 | }, | ||
| 157 | getFocusProbeInfo: function () { | ||
| 158 | return this._oProbeInfo; | ||
| 159 | }, | ||
| 160 | |||
| 161 | onEnable: function () { //修改节点的active属性为true时会执行挂载组件的onEnable方法 | ||
| 162 | //注意:子节点有ListView要慎用!会使所有未初始化数据的子节点也改变焦点状态 | ||
| 163 | // cc.log("执行FocusInfo中onEnable方法"); | ||
| 164 | // if (0 != this.node.name.indexOf('RoleInstallListCell') && 0 != this.node.name.indexOf('AchievementListCell')) { | ||
| 165 | this._bEnable = true; | ||
| 166 | // } | ||
| 167 | }, | ||
| 168 | |||
| 169 | onDisable: function () { //修改节点的active属性为false时会执行挂载组件的onDisable方法 | ||
| 170 | // cc.log("执行FocusInfo中onDisable方法" + this.node.name); | ||
| 171 | |||
| 172 | // if (0 != this.node.name.indexOf('CategoryListCell')) { | ||
| 173 | this._bEnable = false; | ||
| 174 | // cc.log("隐藏的名称:" + this.node.name); | ||
| 175 | // } | ||
| 176 | }, | ||
| 177 | }); |
| 1 | var Common = require('Common'); | ||
| 2 | |||
| 3 | cc.Class({ | ||
| 4 | extends: cc.Component, | ||
| 5 | |||
| 6 | properties: { | ||
| 7 | |||
| 8 | // TODO: to be a real Component? | ||
| 9 | //_fLeft:0, | ||
| 10 | //_fTop:0, | ||
| 11 | //_fWidth:0, | ||
| 12 | //_fHeight:0, | ||
| 13 | //_oFocusNode:null,//deprecated | ||
| 14 | _strTVLink:'', | ||
| 15 | _bEnable:false | ||
| 16 | }, | ||
| 17 | |||
| 18 | |||
| 19 | //ctor: function (fLeft,fTop,fWidth,fHeight,oFocusNode) { | ||
| 20 | ctor: function () { | ||
| 21 | |||
| 22 | //this._fLeft=arguments[0]; | ||
| 23 | //this._fTop=arguments[1]; | ||
| 24 | //this._fWidth=arguments[2]; | ||
| 25 | //this._fHeight=arguments[3]; | ||
| 26 | //this._oFocusNode=arguments[4]; | ||
| 27 | this._strTVLink=arguments[0]; | ||
| 28 | this._bEnable=arguments[1]; | ||
| 29 | //this._fLeft=fLeft; | ||
| 30 | //this._fTop=fTop; | ||
| 31 | //this._fWidth=fWidth; | ||
| 32 | //this._fHeight=fHeight; | ||
| 33 | //this._oFocusNode=oFocusNode; | ||
| 34 | |||
| 35 | }, | ||
| 36 | |||
| 37 | init: function (/*fLeft,fTop,fWidth,fHeight,oFocusNode,*/strTVLink,bEnable) { | ||
| 38 | |||
| 39 | //this._fLeft=arguments[0]; | ||
| 40 | //this._fTop=arguments[1]; | ||
| 41 | //this._fWidth=arguments[2]; | ||
| 42 | //this._fHeight=arguments[3]; | ||
| 43 | //this._oFocusNode=arguments[4]; | ||
| 44 | this._strTVLink=strTVLink; | ||
| 45 | this._bEnable=bEnable; | ||
| 46 | //this._fLeft=fLeft; | ||
| 47 | //this._fTop=fTop; | ||
| 48 | //this._fWidth=fWidth; | ||
| 49 | //this._fHeight=fHeight; | ||
| 50 | //this._oFocusNode=oFocusNode; | ||
| 51 | |||
| 52 | }, | ||
| 53 | |||
| 54 | // use this for initialization | ||
| 55 | onLoad: function () { | ||
| 56 | |||
| 57 | }, | ||
| 58 | |||
| 59 | // called every frame, uncomment this function to activate update callback | ||
| 60 | // update: function (dt) { | ||
| 61 | |||
| 62 | // }, | ||
| 63 | |||
| 64 | |||
| 65 | |||
| 66 | getLeft:function(){ | ||
| 67 | //return this._fLeft; | ||
| 68 | |||
| 69 | return Common.SCREEN_WIDTH/2+(this.getX()-this.node.width/2); | ||
| 70 | }, | ||
| 71 | |||
| 72 | |||
| 73 | //setLeft:function(fLeft){ | ||
| 74 | // this._fLeft=fLeft; | ||
| 75 | //}, | ||
| 76 | |||
| 77 | getTop:function(){ | ||
| 78 | //return this._fTop; | ||
| 79 | return Common.SCREEN_HEIGHT/2-(this.getY()+this.node.height/2); | ||
| 80 | }, | ||
| 81 | |||
| 82 | getX:function(){ | ||
| 83 | let tempNode=this.node; | ||
| 84 | let fCenterX=0; | ||
| 85 | while (tempNode.parent.parent){//不算TopCanvas | ||
| 86 | //cc.log(tempNode.name+" X: "+tempNode.x) | ||
| 87 | fCenterX+=tempNode.x; | ||
| 88 | tempNode=tempNode.parent; | ||
| 89 | } | ||
| 90 | return fCenterX; | ||
| 91 | }, | ||
| 92 | getY:function(){ | ||
| 93 | let tempNode=this.node; | ||
| 94 | let fCenterY=0; | ||
| 95 | while (tempNode.parent.parent){//不算TopCanvas | ||
| 96 | //cc.log(tempNode.name+" Y: "+tempNode.y) | ||
| 97 | fCenterY+=tempNode.y; | ||
| 98 | tempNode=tempNode.parent; | ||
| 99 | } | ||
| 100 | return fCenterY; | ||
| 101 | }, | ||
| 102 | //setTop:function(fTop){ | ||
| 103 | // this._fTop=fTop; | ||
| 104 | //}, | ||
| 105 | getWidth:function(){ | ||
| 106 | //return this._fWidth; | ||
| 107 | return this.node.width; | ||
| 108 | }, | ||
| 109 | //setWidth:function(fWidth){ | ||
| 110 | // this._fWidth=fWidth; | ||
| 111 | //}, | ||
| 112 | getHeight:function(){ | ||
| 113 | //return this._fHeight; | ||
| 114 | return this.node.height; | ||
| 115 | }, | ||
| 116 | //setHeight:function(fHeight){ | ||
| 117 | // this._fHeight=fHeight; | ||
| 118 | //}, | ||
| 119 | //getFocusNode:function(){ | ||
| 120 | // return this._oFocusNode; | ||
| 121 | //}, | ||
| 122 | //setFocusNode:function(oFocusNode){ | ||
| 123 | // this._oFocusNode=oFocusNode; | ||
| 124 | //}, | ||
| 125 | getTVLink:function(){ | ||
| 126 | return this._strTVLink; | ||
| 127 | }, | ||
| 128 | setTVLink:function(strTVLink){ | ||
| 129 | this._strTVLink=strTVLink; | ||
| 130 | }, | ||
| 131 | getEnable:function(){ | ||
| 132 | return this._bEnable; | ||
| 133 | }, | ||
| 134 | setEnable:function(bEnable){ | ||
| 135 | this._bEnable=bEnable; | ||
| 136 | } | ||
| 137 | |||
| 138 | }); |
| 1 | var Common=require('Common'); | ||
| 2 | var Network=require('Network'); | ||
| 3 | var TVFocus=require('TVFocus'); | ||
| 4 | var FocusInfo=require('FocusInfo'); | ||
| 5 | var Application=require('Application'); | ||
| 6 | var Log=require('Log'); | ||
| 7 | |||
| 8 | cc.Class({ | ||
| 9 | extends: cc.Component, | ||
| 10 | |||
| 11 | properties: { | ||
| 12 | // foo: { | ||
| 13 | // default: null, // The default value will be used only when the component attaching | ||
| 14 | // to a node for the first time | ||
| 15 | // url: cc.Texture2D, // optional, default is typeof default | ||
| 16 | // serializable: true, // optional, default is true | ||
| 17 | // visible: true, // optional, default is true | ||
| 18 | // displayName: 'Foo', // optional | ||
| 19 | // readonly: false, // optional, default is false | ||
| 20 | // }, | ||
| 21 | // ... | ||
| 22 | _iCellIndex:-1, //这个用于记录某个Cell PFB的索引 | ||
| 23 | |||
| 24 | }, | ||
| 25 | |||
| 26 | // use this for initialization | ||
| 27 | onLoad: function () { | ||
| 28 | |||
| 29 | |||
| 30 | }, | ||
| 31 | |||
| 32 | render:function(){ | ||
| 33 | |||
| 34 | }, | ||
| 35 | |||
| 36 | |||
| 37 | |||
| 38 | // called every frame, uncomment this function to activate update callback | ||
| 39 | // update: function (dt) { | ||
| 40 | |||
| 41 | // }, | ||
| 42 | }); |
| 1 | var Network = require('Network'); | ||
| 2 | var Common = require('Common'); | ||
| 3 | cc.Class({ | ||
| 4 | extends: cc.Component, | ||
| 5 | |||
| 6 | properties: { | ||
| 7 | // foo: { | ||
| 8 | // default: null, // The default value will be used only when the component attaching | ||
| 9 | // to a node for the first time | ||
| 10 | // url: cc.Texture2D, // optional, default is typeof default | ||
| 11 | // serializable: true, // optional, default is true | ||
| 12 | // visible: true, // optional, default is true | ||
| 13 | // displayName: 'Foo', // optional | ||
| 14 | // readonly: false, // optional, default is false | ||
| 15 | // }, | ||
| 16 | // ... | ||
| 17 | _iLogCount:0, | ||
| 18 | _oScene:null, | ||
| 19 | |||
| 20 | |||
| 21 | }, | ||
| 22 | |||
| 23 | init: function (oScene) { | ||
| 24 | try { | ||
| 25 | this._oScene=oScene; | ||
| 26 | } catch (error) { | ||
| 27 | if (cc.sys.isNative){ | ||
| 28 | jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "logInSceneI", "(Ljava/lang/String;)V","init Error in Log==>"+error); | ||
| 29 | } | ||
| 30 | } | ||
| 31 | |||
| 32 | }, | ||
| 33 | // use this for initialization | ||
| 34 | onLoad: function () { | ||
| 35 | try { | ||
| 36 | //设置本身节点的宽高透明 | ||
| 37 | this.node.x=0; | ||
| 38 | this.node.y=0; | ||
| 39 | //this.node.width=Common.SCREEN_WIDTH-20; | ||
| 40 | //this.node.height=Common.SCREEN_HEIGHT; | ||
| 41 | |||
| 42 | |||
| 43 | this.node.width=Common.SCREEN_HEIGHT; | ||
| 44 | this.node.height=Common.SCREEN_WIDTH; | ||
| 45 | |||
| 46 | let nodeLogMask=new cc.Node('LogMask'); | ||
| 47 | nodeLogMask.x=0; | ||
| 48 | nodeLogMask.y=0; | ||
| 49 | |||
| 50 | this.node.addChild(nodeLogMask,10); | ||
| 51 | |||
| 52 | //设置为全屏遮罩 | ||
| 53 | let strLoadImagePath = 'Texture/splash_black'; | ||
| 54 | Common.renderSpriteByLocalImage(strLoadImagePath,nodeLogMask.addComponent(cc.Sprite)); | ||
| 55 | |||
| 56 | //因为纹理2*2所以这里写死了 | ||
| 57 | //nodeLogMask.setScale(Common.SCREEN_WIDTH/2,Common.SCREEN_HEIGHT/2); | ||
| 58 | nodeLogMask.setScale(Common.SCREEN_HEIGHT/2,Common.SCREEN_WIDTH/2); | ||
| 59 | //nodeLogMask.opacity=100; | ||
| 60 | nodeLogMask.opacity = 100; | ||
| 61 | nodeLogMask.zIndex = 400; | ||
| 62 | |||
| 63 | let nodeLogList=new cc.Node('LogList'); | ||
| 64 | let layoutLog = nodeLogList.addComponent(cc.Layout); | ||
| 65 | layoutLog.type = cc.Layout.Type.VERTICAL; | ||
| 66 | layoutLog.resizeMode = cc.Layout.ResizeMode.CONTAINER; | ||
| 67 | layoutLog.spacingY = 0; | ||
| 68 | //nodeLogList.x = 20 - Common.SCREEN_WIDTH/2; | ||
| 69 | //nodeLogList.y = Common.SCREEN_HEIGHT/2 - 20; | ||
| 70 | nodeLogList.x = -Common.SCREEN_WIDTH/2+290; | ||
| 71 | nodeLogList.y = Common.SCREEN_HEIGHT/2+270; | ||
| 72 | nodeLogList.setAnchorPoint(0,1); | ||
| 73 | this.node.addChild(nodeLogList,10); | ||
| 74 | nodeLogList.zIndex = 402; | ||
| 75 | |||
| 76 | //this.node.color=new cc.Color(0, 0, 0); //黑色 | ||
| 77 | //this.node.cascadeOpacity=false; | ||
| 78 | |||
| 79 | //this.node.parent=this._oScene.node; | ||
| 80 | |||
| 81 | //this.node.getComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(Texture2D.); | ||
| 82 | |||
| 83 | //parentNode.cascadeOpacity=false; | ||
| 84 | } catch (error) { | ||
| 85 | if (cc.sys.isNative){ | ||
| 86 | jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "logInSceneI", "(Ljava/lang/String;)V","onLoad Error in Log==>"+error); | ||
| 87 | } | ||
| 88 | } | ||
| 89 | |||
| 90 | }, | ||
| 91 | |||
| 92 | //statics: { | ||
| 93 | |||
| 94 | |||
| 95 | serverD:function(strInfo){ | ||
| 96 | |||
| 97 | }, | ||
| 98 | screenD:function(strInfo){ | ||
| 99 | try { | ||
| 100 | this.flushLogToScreen(strInfo,'Debug'); | ||
| 101 | } catch (error) { | ||
| 102 | if (cc.sys.isNative){ | ||
| 103 | jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "logInSceneI", "(Ljava/lang/String;)V","screenD Error in Log==>"+error); | ||
| 104 | } | ||
| 105 | } | ||
| 106 | |||
| 107 | }, | ||
| 108 | serverI:function(strInfo){ | ||
| 109 | |||
| 110 | }, | ||
| 111 | screenI:function(strInfo){ | ||
| 112 | try { | ||
| 113 | if(strInfo){ | ||
| 114 | this.flushLogToScreen(strInfo,'Info'); | ||
| 115 | cc.log("Info:"+strInfo); | ||
| 116 | if (cc.sys.isNative){ | ||
| 117 | jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "logInSceneI", "(Ljava/lang/String;)V",strInfo); | ||
| 118 | } | ||
| 119 | } | ||
| 120 | } catch (error) { | ||
| 121 | if (cc.sys.isNative){ | ||
| 122 | jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "logInSceneI", "(Ljava/lang/String;)V","screenI Error in Log==>"+error); | ||
| 123 | } | ||
| 124 | } | ||
| 125 | |||
| 126 | |||
| 127 | }, | ||
| 128 | serverW:function(strInfo){ | ||
| 129 | |||
| 130 | }, | ||
| 131 | screenW:function(strInfo){ | ||
| 132 | try { | ||
| 133 | if(strInfo){ | ||
| 134 | this.flushLogToScreen(strInfo,'Warning'); | ||
| 135 | cc.log("Warning:"+strInfo); | ||
| 136 | if (cc.sys.isNative){ | ||
| 137 | jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "logInSceneW", "(Ljava/lang/String;)V",strInfo); | ||
| 138 | } | ||
| 139 | } | ||
| 140 | } catch (error) { | ||
| 141 | if (cc.sys.isNative){ | ||
| 142 | jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "logInSceneI", "(Ljava/lang/String;)V","screenW Error in Log==>"+error); | ||
| 143 | } | ||
| 144 | } | ||
| 145 | |||
| 146 | |||
| 147 | }, | ||
| 148 | serverE:function(strInfo){ | ||
| 149 | |||
| 150 | }, | ||
| 151 | screenE:function(strInfo){ | ||
| 152 | try { | ||
| 153 | if(strInfo){ | ||
| 154 | this.flushLogToScreen(strInfo,'Error'); | ||
| 155 | cc.log("strInfo:"+strInfo); | ||
| 156 | if (cc.sys.isNative){ | ||
| 157 | jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "logInSceneE", "(Ljava/lang/String;)V",strInfo); | ||
| 158 | } | ||
| 159 | } | ||
| 160 | } catch (error) { | ||
| 161 | if (cc.sys.isNative){ | ||
| 162 | jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "logInSceneI", "(Ljava/lang/String;)V","screenE Error in Log==>"+error); | ||
| 163 | } | ||
| 164 | } | ||
| 165 | |||
| 166 | }, | ||
| 167 | |||
| 168 | flushLogToScreen:function(strInfo, strLevel){ | ||
| 169 | try { | ||
| 170 | if(!Common.DEBUG_MODE){//todo:是否还有把日志显示在屏幕上的必要,目前是觉得没有的 | ||
| 171 | return; | ||
| 172 | } | ||
| 173 | this._iLogCount++; | ||
| 174 | let nodeLogList = this.node.getChildByName("LogList"); | ||
| 175 | //this._iLogCount = this._iLogCount%100; | ||
| 176 | let nodeInfo=new cc.Node('log_info_'+this._iLogCount); | ||
| 177 | let lblInfo=nodeInfo.addComponent(cc.Label); | ||
| 178 | lblInfo.string="("+this._iLogCount+"):"+strLevel+':'+strInfo;//+(nodeInfo.width/2-Common.SCREEN_WIDTH/2); | ||
| 179 | lblInfo.fontSize=10; | ||
| 180 | lblInfo.lineHeight=10; | ||
| 181 | //nodeInfo.parent=this.node; | ||
| 182 | nodeInfo.parent=nodeLogList; | ||
| 183 | switch(strLevel){ | ||
| 184 | case 'Debug': | ||
| 185 | nodeInfo.color=new cc.color(51,255,255,255); | ||
| 186 | break; | ||
| 187 | case 'Info': | ||
| 188 | nodeInfo.color=new cc.color(51,255,51,255); | ||
| 189 | break; | ||
| 190 | case 'Warning': | ||
| 191 | nodeInfo.color=new cc.color(255,255,51,255); | ||
| 192 | break; | ||
| 193 | case 'Error': | ||
| 194 | nodeInfo.color=new cc.color(255,51,51,255); | ||
| 195 | break; | ||
| 196 | default: | ||
| 197 | nodeInfo.color=new cc.color(255,255,255,255); | ||
| 198 | |||
| 199 | } | ||
| 200 | |||
| 201 | //nodeInfo.color=new cc.color(255,255,255,255); | ||
| 202 | //nodeInfo.height=20; | ||
| 203 | //nodeInfo.y = -(this._iLogCount-1)*20; | ||
| 204 | nodeInfo.y = -(this._iLogCount-1)*10; | ||
| 205 | nodeInfo.height=10; | ||
| 206 | nodeInfo.setAnchorPoint(0,1); | ||
| 207 | |||
| 208 | |||
| 209 | nodeInfo.zIndex = 401; | ||
| 210 | //if(nodeLogList.height > Common.SCREEN_HEIGHT -20){ | ||
| 211 | if(nodeLogList.height > Common.SCREEN_WIDTH){ | ||
| 212 | nodeLogList.children[0].destroy(); | ||
| 213 | } | ||
| 214 | } catch (error) { | ||
| 215 | if (cc.sys.isNative){ | ||
| 216 | jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "logInSceneI", "(Ljava/lang/String;)V","flushLogToScreen Error in Log==>"+error); | ||
| 217 | } | ||
| 218 | } | ||
| 219 | |||
| 220 | }, | ||
| 221 | clearLogOnScreen : function () { | ||
| 222 | try { | ||
| 223 | let nodeLogList = this.node.getChildByName("LogList"); | ||
| 224 | nodeLogList.destroy(); | ||
| 225 | this._iLogCount = 0; | ||
| 226 | nodeLogList=new cc.Node('LogList'); | ||
| 227 | nodeLogList.x = 20 - Common.SCREEN_WIDTH/2; | ||
| 228 | nodeLogList.y = Common.SCREEN_HEIGHT/2 - 20; | ||
| 229 | nodeLogList.setAnchorPoint(0,1); | ||
| 230 | this.node.addChild(nodeLogList,10); | ||
| 231 | nodeLogList.zIndex = 402; | ||
| 232 | } catch (error) { | ||
| 233 | if (cc.sys.isNative){ | ||
| 234 | jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "logInSceneI", "(Ljava/lang/String;)V","clearLogOnScreen Error in Log==>"+error); | ||
| 235 | } | ||
| 236 | } | ||
| 237 | |||
| 238 | }, | ||
| 239 | flushLogToServer:function(){ | ||
| 240 | |||
| 241 | |||
| 242 | } | ||
| 243 | //TODO:需要加一个清除(所有条目全删除)和删除日志(一条一条删除)的函数 | ||
| 244 | //} | ||
| 245 | // called every frame, uncomment this function to activate update callback | ||
| 246 | // update: function (dt) { | ||
| 247 | |||
| 248 | // }, | ||
| 249 | }); |
| 1 | cc.Class({ | ||
| 2 | extends: cc.Component, | ||
| 3 | |||
| 4 | properties: { | ||
| 5 | // foo: { | ||
| 6 | // default: null, // The default value will be used only when the component attaching | ||
| 7 | // to a node for the first time | ||
| 8 | // url: cc.Texture2D, // optional, default is typeof default | ||
| 9 | // serializable: true, // optional, default is true | ||
| 10 | // visible: true, // optional, default is true | ||
| 11 | // displayName: 'Foo', // optional | ||
| 12 | // readonly: false, // optional, default is false | ||
| 13 | // }, | ||
| 14 | // ... | ||
| 15 | |||
| 16 | |||
| 17 | _fStep:1, | ||
| 18 | _bHasRelation:true, | ||
| 19 | _oNode:null, //deprecated | ||
| 20 | _iDirection:0, | ||
| 21 | _fTargetPosition:0, | ||
| 22 | }, | ||
| 23 | |||
| 24 | //ctor: function (fStep,bHasRelation,iDirection) { | ||
| 25 | ctor: function () { | ||
| 26 | this._fStep=arguments[0]; | ||
| 27 | this._bHasRelation=arguments[1]; | ||
| 28 | //this._oNode=arguments[2]; | ||
| 29 | this._iDirection=arguments[2]; | ||
| 30 | |||
| 31 | //this._fStep=fStep; | ||
| 32 | //this._bHasRelation=bHasRelation; | ||
| 33 | //this._oNode=oNode; | ||
| 34 | //this._iDirection=iDirection; | ||
| 35 | |||
| 36 | }, | ||
| 37 | init: function (fStep,bHasRelation,iDirection) { | ||
| 38 | this._fStep=fStep; | ||
| 39 | this._bHasRelation=bHasRelation; | ||
| 40 | //this._oNode=oNode; | ||
| 41 | this._iDirection=iDirection; | ||
| 42 | |||
| 43 | }, | ||
| 44 | |||
| 45 | getStep:function(){ | ||
| 46 | return this._fStep; | ||
| 47 | }, | ||
| 48 | setStep:function(fStep){ | ||
| 49 | this._fStep=fStep; | ||
| 50 | }, | ||
| 51 | |||
| 52 | getHasRelation:function(){ | ||
| 53 | return this._bHasRelation; | ||
| 54 | }, | ||
| 55 | setHasRelation:function(bHasRelation){ | ||
| 56 | this._bHasRelation=bHasRelation; | ||
| 57 | }, | ||
| 58 | /* | ||
| 59 | getNode:function(){ | ||
| 60 | return this._oNode; | ||
| 61 | }, | ||
| 62 | |||
| 63 | setNode:function(oNode){ | ||
| 64 | this._oNode=oNode; | ||
| 65 | },*/ | ||
| 66 | getDirection:function(){ | ||
| 67 | return this._iDirection; | ||
| 68 | }, | ||
| 69 | setDirection:function(iDirection){ | ||
| 70 | this._iDirection=iDirection; | ||
| 71 | }, | ||
| 72 | getTargetNode:function(){ | ||
| 73 | return this._oTargetNode; | ||
| 74 | }, | ||
| 75 | setTargetNode:function(oTargetNode){ | ||
| 76 | this._oTargetNode=oTargetNode; | ||
| 77 | }, | ||
| 78 | |||
| 79 | |||
| 80 | //明确目标位置 比设置Step更为有效 | ||
| 81 | getTargetPosition:function(){ | ||
| 82 | return this._fTargetPosition; | ||
| 83 | }, | ||
| 84 | setTargetPosition:function(fTargetPosition){ | ||
| 85 | this._fTargetPosition=fTargetPosition; | ||
| 86 | } | ||
| 87 | |||
| 88 | // called every frame, uncomment this function to activate update callback | ||
| 89 | // update: function (dt) { | ||
| 90 | |||
| 91 | // }, | ||
| 92 | |||
| 93 | }); |
| 1 | var Common = require('Common'); | ||
| 2 | var Network = require('Network'); | ||
| 3 | var TVFocus = require('TVFocus'); | ||
| 4 | var CCTVFocus = require('CCTVFocus'); | ||
| 5 | var FocusInfo = require('FocusInfo'); | ||
| 6 | var TVCanvas = require('TVCanvas'); | ||
| 7 | var TVScrollParameter = require('TVScrollParameter'); | ||
| 8 | var ListView = require('ListView'); | ||
| 9 | var BusinessParameter = require('BusinessParameter'); | ||
| 10 | var ListCell = require('ListCell'); | ||
| 11 | |||
| 12 | cc.Class({ | ||
| 13 | extends: TVCanvas, | ||
| 14 | |||
| 15 | properties: { | ||
| 16 | |||
| 17 | }, | ||
| 18 | |||
| 19 | onLoad: function () { | ||
| 20 | this._super(); | ||
| 21 | |||
| 22 | this._oSceneContext._packageName = ""; | ||
| 23 | this._oSceneContext._className = ""; | ||
| 24 | this._oSceneContext._downloadUrl = ""; | ||
| 25 | |||
| 26 | let aSceneContext = this._cApplication.getSceneContext(); | ||
| 27 | let aSceneParameter = this._cApplication.getSceneParameter(); | ||
| 28 | if (aSceneParameter.length) { | ||
| 29 | this._oSceneContext._packageName = aSceneParameter[aSceneParameter.length - 1].packageName; | ||
| 30 | this._oSceneContext._className = aSceneParameter[aSceneParameter.length - 1].className; | ||
| 31 | this._oSceneContext._downloadUrl = aSceneParameter[aSceneParameter.length - 1].downloadUrl; | ||
| 32 | } else if (aSceneParameter) { | ||
| 33 | this._oSceneContext._packageName = aSceneParameter.packageName; | ||
| 34 | this._oSceneContext._className = aSceneParameter.className; | ||
| 35 | this._oSceneContext._downloadUrl = aSceneParameter.downloadUrl; | ||
| 36 | } | ||
| 37 | |||
| 38 | cc.log("gameLoading包名:" + this._oSceneContext._downloadUrl); | ||
| 39 | |||
| 40 | if (this._oSceneContext._downloadUrl && this._oSceneContext._downloadUrl != "undefined") { //如果有下载地址就启动奥比游戏 | ||
| 41 | jsb.reflection.callStaticMethod("com/topdraw/melody/TopdrawSDKWrapper", "startOBiGame", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", this._oSceneContext._downloadUrl, this._oSceneContext._packageName, this._oSceneContext._className, "updateProgress"); | ||
| 42 | } else { | ||
| 43 | jsb.reflection.callStaticMethod("com/topdraw/melody/TopdrawSDKWrapper", "startGame", "(Ljava/lang/String;Ljava/lang/String;)V", this._oSceneContext._packageName, "updateProgress"); | ||
| 44 | } | ||
| 45 | }, | ||
| 46 | |||
| 47 | updateProgress: function (strProgress) { | ||
| 48 | this._cLog.screenI("gameLoading下载进度:" + strProgress); | ||
| 49 | cc.find("ProgressLabel", this.node).getComponent(cc.Label).string = strProgress + "%"; | ||
| 50 | let progressBarWidth = cc.find("ProgressBar", this.node).width - 7;// | ||
| 51 | let nodeBar = cc.find("ProgressBar/bar", this.node); | ||
| 52 | nodeBar.width = strProgress / 100 * progressBarWidth; | ||
| 53 | |||
| 54 | // this._downloadUrl && this._downloadUrl != "undefined" && | ||
| 55 | if (strProgress == "100") { | ||
| 56 | this._bIsFocusInit = true; | ||
| 57 | this.backAScene(); | ||
| 58 | } | ||
| 59 | }, | ||
| 60 | |||
| 61 | // hideLoadingIcon: function () { | ||
| 62 | // cc.log("隐藏LoadingIcon..."); | ||
| 63 | // cc.find("Loading/LoadingIcon", this.node).getComponent(cc.Animation).pause(); | ||
| 64 | // cc.find("Loading/LoadingIcon", this.node).opacity = 0; | ||
| 65 | // this.cheduleOn | ||
| 66 | // }, | ||
| 67 | |||
| 68 | }); |
| 1 | //分类-动漫 | ||
| 2 | var Common = require('Common'); | ||
| 3 | var FocusInfo = require('FocusInfo'); | ||
| 4 | var ListCell = require('ListCell'); | ||
| 5 | var Network = require('Network'); | ||
| 6 | |||
| 7 | cc.Class({ | ||
| 8 | extends: ListCell, | ||
| 9 | |||
| 10 | properties: { | ||
| 11 | id: 0, | ||
| 12 | pic: cc.Sprite, | ||
| 13 | activeName1: cc.Label, | ||
| 14 | activeName2: cc.Label, | ||
| 15 | normalName: cc.Label, | ||
| 16 | Name: cc.Label, | ||
| 17 | textScore: cc.Label, //分数 | ||
| 18 | }, | ||
| 19 | |||
| 20 | statics: { | ||
| 21 | PFB_NAME: 'Prefab/pfbCategoryListCell', | ||
| 22 | CELL_NAME: 'CategoryListCell', | ||
| 23 | }, | ||
| 24 | |||
| 25 | init: function (iCellIndex, bIsFocusEnable, compSceneCanvas) { | ||
| 26 | //准备焦点坐标 | ||
| 27 | let fiCategoryBlock = this.node.addComponent(FocusInfo); | ||
| 28 | fiCategoryBlock.init( | ||
| 29 | null, true, null, null, 1.1 | ||
| 30 | ); | ||
| 31 | compSceneCanvas.addNodeToFocusTarget(0, this.node.name, this.node); | ||
| 32 | }, | ||
| 33 | |||
| 34 | render(oData, iRecordIndex) { | ||
| 35 | // this.id = oData.id; | ||
| 36 | // cc.log("categoryList-->name: "+JSON.stringify(oData)); | ||
| 37 | this.activeName1.string = oData.name; | ||
| 38 | this.activeName2.string = oData.name; | ||
| 39 | this.normalName.string = oData.name; | ||
| 40 | this.Name.string = oData.name; | ||
| 41 | // this.activeName1._updateRenderData(true); | ||
| 42 | // this.activeName2._updateRenderData(true); | ||
| 43 | // this.normalName._updateRenderData(true); | ||
| 44 | if (oData.score) { | ||
| 45 | this.textScore.string = parseInt(oData.score * 10) / 10; | ||
| 46 | } | ||
| 47 | if (oData.play_times) { | ||
| 48 | let value = parseInt(oData.play_times); | ||
| 49 | if (value > 10000) { | ||
| 50 | this.textPlayTimes.string = parseInt(value / 10000) + "万+"; | ||
| 51 | } else { | ||
| 52 | this.textPlayTimes.string = value; | ||
| 53 | } | ||
| 54 | } | ||
| 55 | if (oData.image[0]) { | ||
| 56 | var self = this; | ||
| 57 | |||
| 58 | // Network.loadImageInNativeRuntime( | ||
| 59 | // Common.TOPDRAW_IMAGE_SERVER + oData.image[0].fileUrl,null, | ||
| 60 | // function (texture) { | ||
| 61 | // self.pic.spriteFrame = new cc.SpriteFrame(texture); | ||
| 62 | // }, null, this | ||
| 63 | // ); | ||
| 64 | cc.log("categoryList..."+oData.image[0].fileUrl); | ||
| 65 | cc.loader.loadRes(oData.image[0].fileUrl, cc.Texture2D, function (err, texture) { | ||
| 66 | self.pic.spriteFrame = new cc.SpriteFrame(texture); | ||
| 67 | }); | ||
| 68 | } | ||
| 69 | // cc.log("category list cell location: "+oData.image[0].fileUrl); | ||
| 70 | this.node.getComponent(FocusInfo).setTVLink(oData.tvlink); | ||
| 71 | }, | ||
| 72 | |||
| 73 | enableFocusInfo: function () { | ||
| 74 | this.node.getComponent(FocusInfo).setEnable(true); | ||
| 75 | }, | ||
| 76 | |||
| 77 | disableFocusInfo: function () { | ||
| 78 | this.node.getComponent(FocusInfo).setEnable(false); | ||
| 79 | }, | ||
| 80 | |||
| 81 | setUIWithFocus: function () { | ||
| 82 | let nodeCellName = this.node.getChildByName('Name'); | ||
| 83 | cc.find("NormalName", nodeCellName).opacity = 255; | ||
| 84 | //超出滚动 | ||
| 85 | let nodeScreenTitleText = cc.find('ActiveName/NameContainer/NameText', nodeCellName); | ||
| 86 | |||
| 87 | let fOriginalX = nodeScreenTitleText.x; | ||
| 88 | let fOriginalY = nodeScreenTitleText.y; | ||
| 89 | |||
| 90 | let nodeScreenTitleText1 = nodeScreenTitleText.getChildByName('NameText1'); | ||
| 91 | let nodeScreenTitleText2 = nodeScreenTitleText.getChildByName('NameText2'); | ||
| 92 | nodeScreenTitleText2.x = nodeScreenTitleText1.x + nodeScreenTitleText1.width + 10;//TODO:补丁,解决滚动重叠 | ||
| 93 | if (nodeScreenTitleText1.width > nodeScreenTitleText.width) { | ||
| 94 | cc.find("ActiveName/NameContainer", nodeCellName).opacity = 255; | ||
| 95 | cc.find("NormalName", nodeCellName).opacity = 0; | ||
| 96 | let fEndPositionDelta = (nodeScreenTitleText1.width + 30); | ||
| 97 | //下方时长和字有关系,才能速度一样 | ||
| 98 | var ftaScreenTitleMoveToTarget = cc.moveTo(10 * (nodeScreenTitleText1.width / nodeScreenTitleText.width), fOriginalX - fEndPositionDelta, fOriginalY); | ||
| 99 | var ftaScreenTitleMoveToBack = cc.moveTo(0, fOriginalX, fOriginalY); | ||
| 100 | var sequenceMediaTitle = cc.sequence(ftaScreenTitleMoveToTarget, ftaScreenTitleMoveToBack); | ||
| 101 | var repeatScreenTitle = cc.repeat(sequenceMediaTitle, 10); | ||
| 102 | repeatScreenTitle.setTag(Common.OVERLENGTH_MOVING); | ||
| 103 | nodeScreenTitleText.runAction(repeatScreenTitle); | ||
| 104 | nodeScreenTitleText2.active = true; | ||
| 105 | } | ||
| 106 | }, | ||
| 107 | setUIWithoutFocus: function () { | ||
| 108 | let nodeCellName = this.node.getChildByName('Name'); | ||
| 109 | cc.find("NormalName", nodeCellName).opacity = 255; | ||
| 110 | //如有滚动停止滚动 | ||
| 111 | let nodeScreenTitleText = cc.find('ActiveName/NameContainer/NameText', nodeCellName); | ||
| 112 | if (null != nodeScreenTitleText.getActionByTag(Common.OVERLENGTH_MOVING)) { | ||
| 113 | nodeScreenTitleText.stopActionByTag(Common.OVERLENGTH_MOVING); | ||
| 114 | nodeScreenTitleText.getChildByName('NameText2').active = false; | ||
| 115 | cc.find("ActiveName/NameContainer", nodeCellName).opacity = 0; | ||
| 116 | } | ||
| 117 | nodeScreenTitleText.x = 0; | ||
| 118 | }, | ||
| 119 | |||
| 120 | }); |
| 1 | //推荐页 | ||
| 2 | var Common = require('Common'); | ||
| 3 | var Network = require('Network'); | ||
| 4 | |||
| 5 | cc.Class({ | ||
| 6 | extends: cc.Component, | ||
| 7 | |||
| 8 | properties: { | ||
| 9 | id: 0, | ||
| 10 | pic: cc.Sprite, | ||
| 11 | activeName1: cc.Label, | ||
| 12 | activeName2: cc.Label, | ||
| 13 | normalName: cc.Label, | ||
| 14 | }, | ||
| 15 | |||
| 16 | // data: {id,iconSF,itemName,itemPrice} | ||
| 17 | init: function (data, funCallback, strCellName, i, iCurrentIndex) { | ||
| 18 | // cc.log("pfbRecommend->init: "+data.tvlink); | ||
| 19 | // this.id = data.id; | ||
| 20 | this.node.width = data.width; | ||
| 21 | this.node.height = data.height; | ||
| 22 | this.node.getChildByName('Pic').width = data.width; | ||
| 23 | this.node.getChildByName('Pic').height = data.height; | ||
| 24 | if (data.imageURL) { | ||
| 25 | var self = this; | ||
| 26 | cc.loader.loadRes(data.imageURL, cc.Texture2D, function (err, texture) { | ||
| 27 | if (strCellName == "topNavi") { | ||
| 28 | self.pic.spriteFrame = new cc.SpriteFrame(texture, cc.rect(0, 0, data.width, data.height)); | ||
| 29 | if (i == iCurrentIndex) { | ||
| 30 | self.pic.spriteFrame = new cc.SpriteFrame(texture, cc.rect(0, data.height, data.width, data.height)); | ||
| 31 | } | ||
| 32 | } else { | ||
| 33 | self.pic.spriteFrame = new cc.SpriteFrame(texture, cc.rect(0, 0, data.width, data.height)); | ||
| 34 | } | ||
| 35 | // if (null != funCallback && typeof funCallback == 'function') { | ||
| 36 | // funCallback.call(); | ||
| 37 | // } | ||
| 38 | }); | ||
| 39 | // Network.loadImageInNativeRuntime( | ||
| 40 | // Common.TOPDRAW_IMAGE_SERVER_EDU + data.imageURL, | ||
| 41 | // function (texture) { | ||
| 42 | // self.pic.spriteFrame = new cc.SpriteFrame(texture,cc.rect(0,0,self.node.width,self.node.height)); | ||
| 43 | |||
| 44 | // if (null != funCallback && typeof funCallback == 'function') { | ||
| 45 | // funCallback.call(); | ||
| 46 | // } | ||
| 47 | // }, null, this | ||
| 48 | // ); | ||
| 49 | |||
| 50 | |||
| 51 | } | ||
| 52 | |||
| 53 | if (strCellName == "topNavi" && i>0) { | ||
| 54 | this.node.getComponent(cc.Widget).top = data.top - data.height / 2; | ||
| 55 | } else { | ||
| 56 | this.node.getComponent(cc.Widget).top = data.top; | ||
| 57 | } | ||
| 58 | this.node.getComponent(cc.Widget).left = data.left; | ||
| 59 | |||
| 60 | |||
| 61 | if (data.title_visible == 1) { //前三个不需要显示文字 | ||
| 62 | cc.find('Name', this.node).active = true; | ||
| 63 | cc.find('Name', this.node).width = data.width - 10; | ||
| 64 | cc.find('Name/TextBg', this.node).width = data.width; | ||
| 65 | cc.find('Name/NormalName', this.node).width = data.width - 10; | ||
| 66 | cc.find('Name/ActiveName', this.node).width = data.width - 10; | ||
| 67 | cc.find('Name/ActiveName/NameContainer', this.node).width = data.width - 10; | ||
| 68 | cc.find('Name/ActiveName/NameContainer/NameText', this.node).width = data.width - 10; | ||
| 69 | this.normalName.node.width = data.width - 10; | ||
| 70 | this.activeName1.string = data.title; | ||
| 71 | this.activeName2.string = data.title; | ||
| 72 | this.normalName.string = data.title; | ||
| 73 | this.activeName1._updateRenderData(true); | ||
| 74 | this.activeName2._updateRenderData(true); | ||
| 75 | this.normalName._updateRenderData(true); | ||
| 76 | |||
| 77 | //调整文字位置 | ||
| 78 | let nodeCellName = this.node.getChildByName('Name'); | ||
| 79 | let nodeScreenTitleText = cc.find('ActiveName/NameContainer/NameText', nodeCellName); | ||
| 80 | let nodeScreenTitleText1 = nodeScreenTitleText.getChildByName('NameText1'); | ||
| 81 | if (nodeScreenTitleText1.width > nodeScreenTitleText.width) { | ||
| 82 | this.normalName.overflow = cc.Label.Overflow.CLAMP; | ||
| 83 | this.normalName.enableWrapText = false; | ||
| 84 | this.normalName.horizontalAlign = cc.Label.HorizontalAlign.LEFT; | ||
| 85 | } | ||
| 86 | } | ||
| 87 | }, | ||
| 88 | |||
| 89 | setUIWithFocus: function () { | ||
| 90 | let nodeCellName = this.node.getChildByName('Name'); | ||
| 91 | cc.find("NormalName", nodeCellName).opacity = 255; | ||
| 92 | //超出滚动 | ||
| 93 | let nodeScreenTitleText = cc.find('ActiveName/NameContainer/NameText', nodeCellName); | ||
| 94 | |||
| 95 | let fOriginalX = nodeScreenTitleText.x; | ||
| 96 | let fOriginalY = nodeScreenTitleText.y; | ||
| 97 | |||
| 98 | let nodeScreenTitleText1 = nodeScreenTitleText.getChildByName('NameText1'); | ||
| 99 | let nodeScreenTitleText2 = nodeScreenTitleText.getChildByName('NameText2'); | ||
| 100 | nodeScreenTitleText2.x = nodeScreenTitleText1.x + nodeScreenTitleText1.width + 10;//TODO:补丁,解决滚动重叠 | ||
| 101 | cc.log(nodeScreenTitleText1.width + "------------" + nodeScreenTitleText.width); | ||
| 102 | if (nodeScreenTitleText1.width > nodeScreenTitleText.width) { | ||
| 103 | cc.find("ActiveName/NameContainer", nodeCellName).opacity = 255; | ||
| 104 | cc.find("NormalName", nodeCellName).opacity = 0; | ||
| 105 | let fEndPositionDelta = (nodeScreenTitleText1.width + 30); | ||
| 106 | //下方时长和字有关系,才能速度一样 | ||
| 107 | var ftaScreenTitleMoveToTarget = cc.moveTo(10 * (nodeScreenTitleText1.width / nodeScreenTitleText.width), fOriginalX - fEndPositionDelta, fOriginalY); | ||
| 108 | var ftaScreenTitleMoveToBack = cc.moveTo(0, fOriginalX, fOriginalY); | ||
| 109 | var sequenceMediaTitle = cc.sequence(ftaScreenTitleMoveToTarget, ftaScreenTitleMoveToBack); | ||
| 110 | var repeatScreenTitle = cc.repeat(sequenceMediaTitle, 10); | ||
| 111 | repeatScreenTitle.setTag(Common.OVERLENGTH_MOVING); | ||
| 112 | nodeScreenTitleText.runAction(repeatScreenTitle); | ||
| 113 | nodeScreenTitleText2.active = true; | ||
| 114 | } | ||
| 115 | }, | ||
| 116 | |||
| 117 | setUIWithoutFocus: function () { | ||
| 118 | let nodeCellName = this.node.getChildByName('Name'); | ||
| 119 | cc.find("NormalName", nodeCellName).opacity = 255; | ||
| 120 | //如有滚动停止滚动 | ||
| 121 | let nodeScreenTitleText = cc.find('ActiveName/NameContainer/NameText', nodeCellName); | ||
| 122 | if (null != nodeScreenTitleText.getActionByTag(Common.OVERLENGTH_MOVING)) { | ||
| 123 | nodeScreenTitleText.stopActionByTag(Common.OVERLENGTH_MOVING); | ||
| 124 | nodeScreenTitleText.getChildByName('NameText2').active = false; | ||
| 125 | cc.find("ActiveName/NameContainer", nodeCellName).opacity = 0; | ||
| 126 | } | ||
| 127 | nodeScreenTitleText.x = 0; | ||
| 128 | }, | ||
| 129 | }); |
| 1 | //分类-动漫 | ||
| 2 | var Common = require('Common'); | ||
| 3 | var FocusInfo = require('FocusInfo'); | ||
| 4 | var ListCell = require('ListCell'); | ||
| 5 | var Network = require('Network'); | ||
| 6 | |||
| 7 | cc.Class({ | ||
| 8 | extends: ListCell, | ||
| 9 | |||
| 10 | properties: { | ||
| 11 | id: 0, | ||
| 12 | pic: cc.Sprite, | ||
| 13 | activeName1: cc.Label, | ||
| 14 | activeName2: cc.Label, | ||
| 15 | normalName: cc.Label, | ||
| 16 | Name: cc.Label, | ||
| 17 | }, | ||
| 18 | |||
| 19 | statics: { | ||
| 20 | PFB_NAME: '', | ||
| 21 | CELL_NAME: '', | ||
| 22 | }, | ||
| 23 | |||
| 24 | init: function (iCellIndex, bIsFocusEnable, compSceneCanvas) { | ||
| 25 | |||
| 26 | }, | ||
| 27 | |||
| 28 | render(oData, iRecordIndex) { | ||
| 29 | this.activeName1.string = oData.name; | ||
| 30 | this.activeName2.string = oData.name; | ||
| 31 | this.normalName.string = oData.name; | ||
| 32 | this.Name.string = oData.name; | ||
| 33 | |||
| 34 | this.node.getChildByName("Normal").active = true; | ||
| 35 | |||
| 36 | // this.activeName1._updateRenderData(true); | ||
| 37 | // this.activeName2._updateRenderData(true); | ||
| 38 | // this.normalName._updateRenderData(true); | ||
| 39 | }, | ||
| 40 | |||
| 41 | enableFocusInfo: function () { | ||
| 42 | this.node.getComponent(FocusInfo).setEnable(true); | ||
| 43 | }, | ||
| 44 | |||
| 45 | disableFocusInfo: function () { | ||
| 46 | this.node.getComponent(FocusInfo).setEnable(false); | ||
| 47 | }, | ||
| 48 | |||
| 49 | setUIWithFocus: function () { | ||
| 50 | let nodeCellName = this.node.getChildByName('Name'); | ||
| 51 | cc.find("NormalName", nodeCellName).opacity = 255; | ||
| 52 | //超出滚动 | ||
| 53 | let nodeScreenTitleText = cc.find('ActiveName/NameContainer/NameText', nodeCellName); | ||
| 54 | |||
| 55 | let fOriginalX = nodeScreenTitleText.x; | ||
| 56 | let fOriginalY = nodeScreenTitleText.y; | ||
| 57 | |||
| 58 | let nodeScreenTitleText1 = nodeScreenTitleText.getChildByName('NameText1'); | ||
| 59 | let nodeScreenTitleText2 = nodeScreenTitleText.getChildByName('NameText2'); | ||
| 60 | nodeScreenTitleText2.x = nodeScreenTitleText1.x + nodeScreenTitleText1.width + 10;//TODO:补丁,解决滚动重叠 | ||
| 61 | if (nodeScreenTitleText1.width > nodeScreenTitleText.width) { | ||
| 62 | cc.find("ActiveName/NameContainer", nodeCellName).opacity = 255; | ||
| 63 | cc.find("NormalName", nodeCellName).opacity = 0; | ||
| 64 | let fEndPositionDelta = (nodeScreenTitleText1.width + 30); | ||
| 65 | //下方时长和字有关系,才能速度一样 | ||
| 66 | var ftaScreenTitleMoveToTarget = cc.moveTo(10 * (nodeScreenTitleText1.width / nodeScreenTitleText.width), fOriginalX - fEndPositionDelta, fOriginalY); | ||
| 67 | var ftaScreenTitleMoveToBack = cc.moveTo(0, fOriginalX, fOriginalY); | ||
| 68 | var sequenceMediaTitle = cc.sequence(ftaScreenTitleMoveToTarget, ftaScreenTitleMoveToBack); | ||
| 69 | var repeatScreenTitle = cc.repeat(sequenceMediaTitle, 10); | ||
| 70 | repeatScreenTitle.setTag(Common.OVERLENGTH_MOVING); | ||
| 71 | nodeScreenTitleText.runAction(repeatScreenTitle); | ||
| 72 | nodeScreenTitleText2.active = true; | ||
| 73 | } | ||
| 74 | }, | ||
| 75 | setUIWithoutFocus: function () { | ||
| 76 | let nodeCellName = this.node.getChildByName('Name'); | ||
| 77 | cc.find("NormalName", nodeCellName).opacity = 255; | ||
| 78 | //如有滚动停止滚动 | ||
| 79 | let nodeScreenTitleText = cc.find('ActiveName/NameContainer/NameText', nodeCellName); | ||
| 80 | if (null != nodeScreenTitleText.getActionByTag(Common.OVERLENGTH_MOVING)) { | ||
| 81 | nodeScreenTitleText.stopActionByTag(Common.OVERLENGTH_MOVING); | ||
| 82 | nodeScreenTitleText.getChildByName('NameText2').active = false; | ||
| 83 | cc.find("ActiveName/NameContainer", nodeCellName).opacity = 0; | ||
| 84 | } | ||
| 85 | nodeScreenTitleText.x = 0; | ||
| 86 | }, | ||
| 87 | |||
| 88 | }); |
| 1 | //推荐页 | ||
| 2 | var Common = require('Common'); | ||
| 3 | var Network = require('Network'); | ||
| 4 | |||
| 5 | cc.Class({ | ||
| 6 | extends: cc.Component, | ||
| 7 | |||
| 8 | properties: { | ||
| 9 | id: 0, | ||
| 10 | title: cc.Label, | ||
| 11 | selectTitle: cc.Label, | ||
| 12 | activeName1: cc.Label, | ||
| 13 | activeName2: cc.Label, | ||
| 14 | normalName: cc.Label, | ||
| 15 | afterTitle: cc.Label, | ||
| 16 | afterName: cc.Label, | ||
| 17 | }, | ||
| 18 | |||
| 19 | // data: {id,iconSF,itemName,itemPrice} | ||
| 20 | init: function (data, funCallback, i) { | ||
| 21 | |||
| 22 | |||
| 23 | // cc.find('Select/Name', this.node).active = true; | ||
| 24 | // cc.find('Select/Name', this.node).width = data.width - 10; | ||
| 25 | // cc.find('Select/Name/TextBg', this.node).width = data.width; | ||
| 26 | // cc.find('Select/Name/NormalName', this.node).width = data.width - 10; | ||
| 27 | // cc.find('Select/Name/ActiveName', this.node).width = data.width - 10; | ||
| 28 | // cc.find('Select/Name/ActiveName/NameContainer', this.node).width = data.width - 10; | ||
| 29 | // cc.find('Select/Name/ActiveName/NameContainer/NameText', this.node).width = data.width - 10; | ||
| 30 | // this.normalName.node.width = data.width - 10; | ||
| 31 | let aTitle = ["魔法沙拉2", "奔跑吧小兔子", "勇敢的啫喱", "记忆翻牌"]; | ||
| 32 | let aName = ["和爸妈一起做一盘沙拉", "和小兔子一起出门吧", "和Q弹的彩色啫喱锻炼身体", "上完网课,锻炼下记忆力"]; | ||
| 33 | this.title.string = aTitle[i]; | ||
| 34 | this.selectTitle.string=aTitle[i]; | ||
| 35 | this.activeName1.string = data.title || aName[i]; | ||
| 36 | this.activeName2.string = data.title || aName[i]; | ||
| 37 | this.normalName.string = data.title || aName[i]; | ||
| 38 | this.afterTitle.string = aTitle[i]; | ||
| 39 | this.afterName.string = aName[i]; | ||
| 40 | // this.activeName1._updateRenderData(true); | ||
| 41 | // this.activeName2._updateRenderData(true); | ||
| 42 | // this.normalName._updateRenderData(true); | ||
| 43 | |||
| 44 | //调整文字位置 | ||
| 45 | let nodeCellName = cc.find("Select/Name", this.node); | ||
| 46 | let nodeScreenTitleText = cc.find('ActiveName/NameContainer/NameText', nodeCellName); | ||
| 47 | let nodeScreenTitleText1 = nodeScreenTitleText.getChildByName('NameText1'); | ||
| 48 | if (nodeScreenTitleText1.width > nodeScreenTitleText.width) { | ||
| 49 | this.normalName.overflow = cc.Label.Overflow.CLAMP; | ||
| 50 | this.normalName.enableWrapText = false; | ||
| 51 | this.normalName.horizontalAlign = cc.Label.HorizontalAlign.LEFT; | ||
| 52 | } | ||
| 53 | }, | ||
| 54 | |||
| 55 | setUIWithFocus: function () { | ||
| 56 | let nodeCellName = cc.find("Select/Name", this.node); | ||
| 57 | cc.find("NormalName", nodeCellName).opacity = 255; | ||
| 58 | //超出滚动 | ||
| 59 | let nodeScreenTitleText = cc.find('ActiveName/NameContainer/NameText', nodeCellName); | ||
| 60 | |||
| 61 | let fOriginalX = nodeScreenTitleText.x; | ||
| 62 | let fOriginalY = nodeScreenTitleText.y; | ||
| 63 | |||
| 64 | let nodeScreenTitleText1 = nodeScreenTitleText.getChildByName('NameText1'); | ||
| 65 | let nodeScreenTitleText2 = nodeScreenTitleText.getChildByName('NameText2'); | ||
| 66 | nodeScreenTitleText2.x = nodeScreenTitleText1.x + nodeScreenTitleText1.width + 10;//TODO:补丁,解决滚动重叠 | ||
| 67 | cc.log(nodeScreenTitleText1.width + "------------" + nodeScreenTitleText.width); | ||
| 68 | if (nodeScreenTitleText1.width > nodeScreenTitleText.width) { | ||
| 69 | cc.find("ActiveName/NameContainer", nodeCellName).opacity = 255; | ||
| 70 | cc.find("NormalName", nodeCellName).opacity = 0; | ||
| 71 | let fEndPositionDelta = (nodeScreenTitleText1.width + 30); | ||
| 72 | //下方时长和字有关系,才能速度一样 | ||
| 73 | var ftaScreenTitleMoveToTarget = cc.moveTo(10 * (nodeScreenTitleText1.width / nodeScreenTitleText.width), fOriginalX - fEndPositionDelta, fOriginalY); | ||
| 74 | var ftaScreenTitleMoveToBack = cc.moveTo(0, fOriginalX, fOriginalY); | ||
| 75 | var sequenceMediaTitle = cc.sequence(ftaScreenTitleMoveToTarget, ftaScreenTitleMoveToBack); | ||
| 76 | var repeatScreenTitle = cc.repeat(sequenceMediaTitle, 10); | ||
| 77 | repeatScreenTitle.setTag(Common.OVERLENGTH_MOVING); | ||
| 78 | nodeScreenTitleText.runAction(repeatScreenTitle); | ||
| 79 | nodeScreenTitleText2.active = true; | ||
| 80 | } | ||
| 81 | }, | ||
| 82 | |||
| 83 | setUIWithoutFocus: function () { | ||
| 84 | let nodeCellName = cc.find("Select/Name", this.node); | ||
| 85 | cc.find("NormalName", nodeCellName).opacity = 255; | ||
| 86 | //如有滚动停止滚动 | ||
| 87 | let nodeScreenTitleText = cc.find('ActiveName/NameContainer/NameText', nodeCellName); | ||
| 88 | if (null != nodeScreenTitleText.getActionByTag(Common.OVERLENGTH_MOVING)) { | ||
| 89 | nodeScreenTitleText.stopActionByTag(Common.OVERLENGTH_MOVING); | ||
| 90 | nodeScreenTitleText.getChildByName('NameText2').active = false; | ||
| 91 | cc.find("ActiveName/NameContainer", nodeCellName).opacity = 0; | ||
| 92 | } | ||
| 93 | nodeScreenTitleText.x = 0; | ||
| 94 | }, | ||
| 95 | }); |
| 1 | var Network = require('Network'); | ||
| 2 | var Application = require('Application'); | ||
| 3 | var Common = require('Common'); | ||
| 4 | var BusinessParameter = require('BusinessParameter'); | ||
| 5 | var TVCanvas = require('TVCanvas'); | ||
| 6 | var Log = require('Log'); | ||
| 7 | var CCMediaPlayer = require('CCMediaPlayer'); | ||
| 8 | |||
| 9 | cc.Class({ | ||
| 10 | extends: TVCanvas, | ||
| 11 | |||
| 12 | properties: { | ||
| 13 | |||
| 14 | }, | ||
| 15 | |||
| 16 | onLoad: function () { | ||
| 17 | if(cc.sys.isNative){ | ||
| 18 | jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "removeLaunchImage", "()V"); | ||
| 19 | } | ||
| 20 | //播放器使用 | ||
| 21 | let nodeVideoPlayer = new cc.Node('VideoPlayer'); | ||
| 22 | let nodeBg = new cc.Node('Bg'); | ||
| 23 | nodeBg.parent = nodeVideoPlayer; | ||
| 24 | nodeVideoPlayer.parent = cc.find("PlayerContainer"); | ||
| 25 | //nodeVideoPlayer.addComponent(cc.IjkPlayer); | ||
| 26 | //nodeVideoPlayer.addComponent(cc.VitamioPlayer); | ||
| 27 | // nodeVideoPlayer.addComponent(cc.VideoPlayer); | ||
| 28 | //替换集成的播放器 fix jerry | ||
| 29 | nodeVideoPlayer.addComponent(CCMediaPlayer); | ||
| 30 | // let strLoadImagePath = "Texture/splash_black"; | ||
| 31 | // Common.renderSpriteByLocalImage(strLoadImagePath, nodeBg.addComponent(cc.Sprite)); | ||
| 32 | |||
| 33 | nodeVideoPlayer.parent.zIndex = cc.macro.MIN_ZINDEX; | ||
| 34 | cc.game.addPersistRootNode(nodeVideoPlayer.parent); | ||
| 35 | |||
| 36 | cc.director.loadScene("sceneMain"); | ||
| 37 | }, | ||
| 38 | }); |
| 1 | const player = "com/topdraw/component/CocosMediaPlayer"; | ||
| 2 | |||
| 3 | const CALLBACK_FUNCS = { | ||
| 4 | INFO: null, | ||
| 5 | PREPARED: null, | ||
| 6 | SEEKCOMPLETE: null, | ||
| 7 | COMPLETION: null, | ||
| 8 | ERROR: null, | ||
| 9 | BUFFERSTART: null, | ||
| 10 | BUFFERSTOP: null, | ||
| 11 | TIMEOUT: null, | ||
| 12 | }; | ||
| 13 | //根据春哥封装的视频接口,整合出来的视频播放组件 | ||
| 14 | cc.Class({ | ||
| 15 | extends: cc.Component, | ||
| 16 | |||
| 17 | properties: { | ||
| 18 | url: '', | ||
| 19 | }, | ||
| 20 | |||
| 21 | onLoad() { | ||
| 22 | this._playing = false; | ||
| 23 | this.init("Android"); //初始化工作,Android, NewTV, Vitamio, IJK | ||
| 24 | this.setArea(0, 720 - 720, 1280, 720); //默认全屏 | ||
| 25 | }, | ||
| 26 | |||
| 27 | init: function (type) { | ||
| 28 | if (cc.sys.isNative) { | ||
| 29 | jsb.reflection.callStaticMethod(player, "jsInit", "(Ljava/lang/String;)V", type); | ||
| 30 | } | ||
| 31 | }, | ||
| 32 | setArea: function (x, y, w, h) { | ||
| 33 | if (cc.sys.isNative) { | ||
| 34 | jsb.reflection.callStaticMethod(player, "jsSetArea", "(IIII)V", x, y, w, h); | ||
| 35 | } | ||
| 36 | }, | ||
| 37 | setPlayURL: function (url) { | ||
| 38 | this._playing = false; | ||
| 39 | this.url = url; //fix jerry | ||
| 40 | jsb.reflection.callStaticMethod(player, "jsSetPlayURL", "(Ljava/lang/String;)V", url); | ||
| 41 | }, | ||
| 42 | setInfo: function (info) { | ||
| 43 | jsb.reflection.callStaticMethod(player, "jsSetInfo", "(Ljava/lang/String;)V", info); | ||
| 44 | }, | ||
| 45 | prepare: function () { | ||
| 46 | jsb.reflection.callStaticMethod(player, "jsPrepare", "()V"); | ||
| 47 | }, | ||
| 48 | prepareAsync: function () { | ||
| 49 | jsb.reflection.callStaticMethod(player, "jsPrepareAsync", "()V"); | ||
| 50 | }, | ||
| 51 | start: function (time) { | ||
| 52 | this._playing = true; | ||
| 53 | jsb.reflection.callStaticMethod(player, "jsStart", "(I)V", time); | ||
| 54 | }, | ||
| 55 | pause: function () { | ||
| 56 | this._playing = false; | ||
| 57 | jsb.reflection.callStaticMethod(player, "jsPause", "()V"); | ||
| 58 | }, | ||
| 59 | seekTo: function (time) { | ||
| 60 | jsb.reflection.callStaticMethod(player, "jsSeekTo", "(I)V", time); | ||
| 61 | }, | ||
| 62 | setVolume: function (volume) { | ||
| 63 | jsb.reflection.callStaticMethod(player, "jsSetVolume", "(I)V", volume); | ||
| 64 | }, | ||
| 65 | setVolume: function (leftVolume, rightVolume) { | ||
| 66 | jsb.reflection.callStaticMethod(player, "jsSetVolume", "(FF)V", leftVolume, rightVolume); | ||
| 67 | }, | ||
| 68 | stop: function () { | ||
| 69 | jsb.reflection.callStaticMethod(player, "jsStop", "()V"); | ||
| 70 | }, | ||
| 71 | reset: function () { | ||
| 72 | jsb.reflection.callStaticMethod(player, "jsReset", "()V"); | ||
| 73 | }, | ||
| 74 | release: function () { | ||
| 75 | CALLBACK_FUNCS.INFO = null; | ||
| 76 | CALLBACK_FUNCS.PREPARED = null; | ||
| 77 | CALLBACK_FUNCS.SEEKCOMPLETE = null; | ||
| 78 | CALLBACK_FUNCS.COMPLETION = null; | ||
| 79 | CALLBACK_FUNCS.ERROR = null; | ||
| 80 | CALLBACK_FUNCS.BUFFERSTART = null; | ||
| 81 | CALLBACK_FUNCS.BUFFERSTOP = null; | ||
| 82 | CALLBACK_FUNCS.TIMEOUT = null; | ||
| 83 | jsb.reflection.callStaticMethod(player, "jsRelease", "()V"); | ||
| 84 | }, | ||
| 85 | getCurrentPosition: function () { | ||
| 86 | return jsb.reflection.callStaticMethod(player, "jsGetCurrentPosition", "()I"); | ||
| 87 | }, | ||
| 88 | getDuration: function () { | ||
| 89 | return jsb.reflection.callStaticMethod(player, "jsGetDuration", "()I"); | ||
| 90 | }, | ||
| 91 | getVolume: function () { | ||
| 92 | return jsb.reflection.callStaticMethod(player, "jsGetVolume", "()I"); | ||
| 93 | }, | ||
| 94 | isPlaying: function () { | ||
| 95 | // return jsb.reflection.callStaticMethod(player, "jsIsPlaying", "()Z"); | ||
| 96 | return this._playing; | ||
| 97 | }, | ||
| 98 | setOnInfoListener: function (func) { | ||
| 99 | CALLBACK_FUNCS.INFO = func; | ||
| 100 | }, | ||
| 101 | setOnPreparedListener: function (func) { | ||
| 102 | CALLBACK_FUNCS.PREPARED = func; | ||
| 103 | }, | ||
| 104 | setOnSeekCompleteListener: function (func) { | ||
| 105 | CALLBACK_FUNCS.SEEKCOMPLETE = func; | ||
| 106 | }, | ||
| 107 | setOnCompletionListener: function (func) { | ||
| 108 | CALLBACK_FUNCS.COMPLETION = func; | ||
| 109 | }, | ||
| 110 | setOnErrorListener: function (func) { | ||
| 111 | CALLBACK_FUNCS.ERROR = func; | ||
| 112 | }, | ||
| 113 | onInfo: function () { | ||
| 114 | try { | ||
| 115 | if (null != CALLBACK_FUNCS.INFO) { | ||
| 116 | CALLBACK_FUNCS.INFO.apply(this, arguments); | ||
| 117 | } | ||
| 118 | } catch (e) { | ||
| 119 | |||
| 120 | } | ||
| 121 | }, | ||
| 122 | onPrepared: function () { | ||
| 123 | try { | ||
| 124 | // this._cLog.screenI("CCMediaPlayer onPrepared..."); | ||
| 125 | if (null != CALLBACK_FUNCS.PREPARED) { | ||
| 126 | CALLBACK_FUNCS.PREPARED.apply(this, arguments); | ||
| 127 | } | ||
| 128 | } catch (e) { | ||
| 129 | |||
| 130 | } | ||
| 131 | }, | ||
| 132 | onSeekComplete: function () { | ||
| 133 | try { | ||
| 134 | if (null != CALLBACK_FUNCS.SEEKCOMPLETE) { | ||
| 135 | CALLBACK_FUNCS.SEEKCOMPLETE.apply(this, arguments); | ||
| 136 | } | ||
| 137 | } catch (e) { | ||
| 138 | |||
| 139 | } | ||
| 140 | }, | ||
| 141 | onCompletion: function () { | ||
| 142 | try { | ||
| 143 | if (null != CALLBACK_FUNCS.COMPLETION) { | ||
| 144 | CALLBACK_FUNCS.COMPLETION.apply(this, arguments); | ||
| 145 | } | ||
| 146 | } catch (e) { | ||
| 147 | |||
| 148 | } | ||
| 149 | }, | ||
| 150 | onError: function () { | ||
| 151 | try { | ||
| 152 | if (null != CALLBACK_FUNCS.ERROR) { | ||
| 153 | CALLBACK_FUNCS.ERROR.apply(this, arguments); | ||
| 154 | } | ||
| 155 | } catch (e) { | ||
| 156 | |||
| 157 | } | ||
| 158 | }, | ||
| 159 | onBufferStart: function () { | ||
| 160 | try { | ||
| 161 | if (null != CALLBACK_FUNCS.BUFFERSTART) { | ||
| 162 | CALLBACK_FUNCS.BUFFERSTART.apply(this, arguments); | ||
| 163 | } | ||
| 164 | } catch (e) { | ||
| 165 | |||
| 166 | } | ||
| 167 | }, | ||
| 168 | onBufferStop: function () { | ||
| 169 | try { | ||
| 170 | if (null != CALLBACK_FUNCS.BUFFERSTOP) { | ||
| 171 | CALLBACK_FUNCS.BUFFERSTOP.apply(this, arguments); | ||
| 172 | } | ||
| 173 | } catch (e) { | ||
| 174 | |||
| 175 | } | ||
| 176 | }, | ||
| 177 | onTimeOut: function () { | ||
| 178 | try { | ||
| 179 | if (null != CALLBACK_FUNCS.TIMEOUT) { | ||
| 180 | CALLBACK_FUNCS.TIMEOUT.apply(this, arguments); | ||
| 181 | } | ||
| 182 | } catch (e) { | ||
| 183 | |||
| 184 | } | ||
| 185 | }, | ||
| 186 | |||
| 187 | onDestroy() { | ||
| 188 | this.release(); | ||
| 189 | }, | ||
| 190 | |||
| 191 | }); | ||
| 192 | //监听,放在class中,android回调找不到 | ||
| 193 | window.MediaPlayer = { | ||
| 194 | onInfo: function () { | ||
| 195 | try { | ||
| 196 | if (null != CALLBACK_FUNCS.INFO) { | ||
| 197 | CALLBACK_FUNCS.INFO.apply(this, arguments); | ||
| 198 | } | ||
| 199 | } catch (e) { | ||
| 200 | |||
| 201 | } | ||
| 202 | }, | ||
| 203 | onPrepared: function () { | ||
| 204 | try { | ||
| 205 | if (null != CALLBACK_FUNCS.PREPARED) { | ||
| 206 | CALLBACK_FUNCS.PREPARED.apply(this, arguments); | ||
| 207 | } | ||
| 208 | } catch (e) { | ||
| 209 | |||
| 210 | } | ||
| 211 | }, | ||
| 212 | onSeekComplete: function () { | ||
| 213 | try { | ||
| 214 | if (null != CALLBACK_FUNCS.SEEKCOMPLETE) { | ||
| 215 | CALLBACK_FUNCS.SEEKCOMPLETE.apply(this, arguments); | ||
| 216 | } | ||
| 217 | } catch (e) { | ||
| 218 | |||
| 219 | } | ||
| 220 | }, | ||
| 221 | onCompletion: function () { | ||
| 222 | try { | ||
| 223 | if (null != CALLBACK_FUNCS.COMPLETION) { | ||
| 224 | CALLBACK_FUNCS.COMPLETION.apply(this, arguments); | ||
| 225 | } | ||
| 226 | } catch (e) { | ||
| 227 | |||
| 228 | } | ||
| 229 | }, | ||
| 230 | onError: function () { | ||
| 231 | try { | ||
| 232 | if (null != CALLBACK_FUNCS.ERROR) { | ||
| 233 | CALLBACK_FUNCS.ERROR.apply(this, arguments); | ||
| 234 | } | ||
| 235 | } catch (e) { | ||
| 236 | |||
| 237 | } | ||
| 238 | }, | ||
| 239 | onBufferStart: function () { | ||
| 240 | try { | ||
| 241 | if (null != CALLBACK_FUNCS.BUFFERSTART) { | ||
| 242 | CALLBACK_FUNCS.BUFFERSTART.apply(this, arguments); | ||
| 243 | } | ||
| 244 | } catch (e) { | ||
| 245 | |||
| 246 | } | ||
| 247 | }, | ||
| 248 | onBufferStop: function () { | ||
| 249 | try { | ||
| 250 | if (null != CALLBACK_FUNCS.BUFFERSTOP) { | ||
| 251 | CALLBACK_FUNCS.BUFFERSTOP.apply(this, arguments); | ||
| 252 | } | ||
| 253 | } catch (e) { | ||
| 254 | |||
| 255 | } | ||
| 256 | }, | ||
| 257 | onTimeOut: function () { | ||
| 258 | try { | ||
| 259 | if (null != CALLBACK_FUNCS.TIMEOUT) { | ||
| 260 | CALLBACK_FUNCS.TIMEOUT.apply(this, arguments); | ||
| 261 | } | ||
| 262 | } catch (e) { | ||
| 263 | |||
| 264 | } | ||
| 265 | }, | ||
| 266 | } |
| 1 | //重写轮播指示器 | ||
| 2 | |||
| 3 | cc.Class({ | ||
| 4 | extends: cc.PageViewIndicator, | ||
| 5 | |||
| 6 | properties: { | ||
| 7 | |||
| 8 | }, | ||
| 9 | |||
| 10 | _changedState: function () { | ||
| 11 | var indicators = this._indicators; | ||
| 12 | if (indicators.length === 0) return; | ||
| 13 | var idx = this._pageView._curPageIdx; | ||
| 14 | if (idx >= indicators.length) return; | ||
| 15 | for (var i = 0; i < indicators.length; ++i) { | ||
| 16 | var node = indicators[i]; | ||
| 17 | node.opacity = 255 / 2; | ||
| 18 | node.color = new cc.color(0, 0, 0); | ||
| 19 | } | ||
| 20 | indicators[idx].opacity = 255; | ||
| 21 | indicators[idx].color = new cc.color(255, 255, 255); | ||
| 22 | }, | ||
| 23 | |||
| 24 | }); |
| 1 | //用于做动态添加文字滚动效果 | ||
| 2 | var Common = require('Common'); | ||
| 3 | cc.Class({ | ||
| 4 | extends: cc.Component, | ||
| 5 | |||
| 6 | properties: { | ||
| 7 | |||
| 8 | }, | ||
| 9 | init: function (strText, aStrLabel) { | ||
| 10 | this._aStrLabel = aStrLabel; | ||
| 11 | this._iCurrent = 0; | ||
| 12 | let nodeTitleText = this.node.getChildByName("TitleText"); | ||
| 13 | let nodeTitleText1; | ||
| 14 | let nodeTitleText2; | ||
| 15 | this.labelTitleText1; | ||
| 16 | this.labelTitleText2; | ||
| 17 | if (!nodeTitleText) { | ||
| 18 | nodeTitleText = new cc.Node("TitleText"); | ||
| 19 | nodeTitleText1 = new cc.Node("TitleText1"); | ||
| 20 | nodeTitleText2 = new cc.Node("TitleText2"); | ||
| 21 | this.labelTitleText1 = nodeTitleText1.addComponent(cc.Label); | ||
| 22 | this.labelTitleText2 = nodeTitleText2.addComponent(cc.Label); | ||
| 23 | nodeTitleText.addChild(nodeTitleText1); | ||
| 24 | nodeTitleText.addChild(nodeTitleText2); | ||
| 25 | nodeTitleText.parent = this.node; | ||
| 26 | this.labelTitleText1.fontSize = 22; | ||
| 27 | this.labelTitleText2.fontSize = 22; | ||
| 28 | this.labelTitleText1.lineHeight = 24; | ||
| 29 | this.labelTitleText2.lineHeight = 24; | ||
| 30 | nodeTitleText1.anchorX = 0; | ||
| 31 | nodeTitleText2.anchorX = 0; | ||
| 32 | let layoutTitleText = nodeTitleText.addComponent(cc.Layout); | ||
| 33 | layoutTitleText.type = cc.Layout.Type.HORIZONTAL; | ||
| 34 | layoutTitleText.resizeMode = cc.Layout.ResizeMode.CONTAINER; | ||
| 35 | layoutTitleText.spacingX = 60; | ||
| 36 | this.node.addComponent(cc.Mask); | ||
| 37 | } else { | ||
| 38 | nodeTitleText1 = nodeTitleText.getChildByName("TitleText1"); | ||
| 39 | nodeTitleText2 = nodeTitleText.getChildByName("TitleText2"); | ||
| 40 | this.labelTitleText1 = nodeTitleText1.getComponent(cc.Label); | ||
| 41 | this.labelTitleText2 = nodeTitleText2.getComponent(cc.Label); | ||
| 42 | } | ||
| 43 | nodeTitleText.anchorX = 0; | ||
| 44 | this.node.anchorX = 0; | ||
| 45 | this.labelTitleText1.string = strText; | ||
| 46 | this.labelTitleText2.string = strText; | ||
| 47 | if (aStrLabel.length > 0 && aStrLabel[0]) { | ||
| 48 | this.labelTitleText1.string = aStrLabel[0]; | ||
| 49 | this.labelTitleText2.string = aStrLabel[0]; | ||
| 50 | this._iCurrent++; | ||
| 51 | } | ||
| 52 | this.labelTitleText1._forceUpdateRenderData(true); | ||
| 53 | this.labelTitleText2._forceUpdateRenderData(true); | ||
| 54 | this.node.x = -this.node.width / 2; | ||
| 55 | nodeTitleText2.opacity = 0; | ||
| 56 | nodeTitleText.x = 0; | ||
| 57 | nodeTitleText.y = -1; | ||
| 58 | nodeTitleText.x = 0; | ||
| 59 | this.node.opacity = 255; | ||
| 60 | }, | ||
| 61 | setUIWithFocus: function () { | ||
| 62 | var self = this; | ||
| 63 | //转起来 这部分以后要尽量放到Cell里去 | ||
| 64 | let nodeTitleMask = this.node; | ||
| 65 | let nodeTitleContainer = nodeTitleMask.getChildByName('TitleText'); | ||
| 66 | let nodeTitleText1 = nodeTitleContainer.getChildByName("TitleText1"); | ||
| 67 | let nodeTitleText2 = nodeTitleContainer.getChildByName("TitleText2"); | ||
| 68 | |||
| 69 | let fOriginalX = nodeTitleContainer.x; | ||
| 70 | let fOriginalY = nodeTitleContainer.y; | ||
| 71 | if (nodeTitleText1.width > nodeTitleMask.width) { //字超出长度才滚动 | ||
| 72 | nodeTitleText2.opacity = 255; | ||
| 73 | let fEndPositionDelta = nodeTitleText1.width / 2 + nodeTitleText2.width / 2 + 50; | ||
| 74 | |||
| 75 | //下方时长和字有关系,才能速度一样h | ||
| 76 | var ftaTitleMoveToTarget = cc.moveTo(10, fOriginalX - fEndPositionDelta, fOriginalY); | ||
| 77 | var ftaTitleMoveToBack = cc.moveTo(0, fOriginalX, fOriginalY); | ||
| 78 | |||
| 79 | var sequenceTitle = cc.sequence(ftaTitleMoveToTarget, ftaTitleMoveToBack); | ||
| 80 | var finished = cc.callFunc(function () { | ||
| 81 | if (self._aStrLabel.length > 0) { | ||
| 82 | self.labelTitleText1.string = self._aStrLabel[this._iCurrent % self._aStrLabel.length]; | ||
| 83 | self.labelTitleText2.string = self._aStrLabel[this._iCurrent % self._aStrLabel.length]; | ||
| 84 | this._iCurrent++; | ||
| 85 | self.labelTitleText1._forceUpdateRenderData(true); | ||
| 86 | self.labelTitleText2._forceUpdateRenderData(true); | ||
| 87 | self.setUIWithFocus(); | ||
| 88 | } | ||
| 89 | }, this, null); | ||
| 90 | |||
| 91 | var repeatTitle = cc.repeat(cc.sequence(sequenceTitle, finished), 10); | ||
| 92 | repeatTitle.setTag(Common.OVERLENGTH_MOVING); | ||
| 93 | |||
| 94 | nodeTitleContainer.stopAction(nodeTitleContainer.getActionByTag(Common.OVERLENGTH_MOVING)); | ||
| 95 | nodeTitleContainer.runAction(repeatTitle); | ||
| 96 | } | ||
| 97 | |||
| 98 | }, | ||
| 99 | setUIWithoutFocus: function () { | ||
| 100 | let nodeTitleMask = this.node; | ||
| 101 | let nodeTitleContainer = nodeTitleMask.getChildByName('TitleText'); | ||
| 102 | |||
| 103 | nodeTitleContainer.stopAction(nodeTitleContainer.getActionByTag(Common.OVERLENGTH_MOVING)); | ||
| 104 | let nodeTitleText2 = nodeTitleContainer.getChildByName("TitleText2"); | ||
| 105 | nodeTitleText2.opacity = 0; | ||
| 106 | nodeTitleContainer.x = 0; | ||
| 107 | }, | ||
| 108 | prohibit: function () { | ||
| 109 | this.setUIWithoutFocus(); | ||
| 110 | this.node.opacity = 0; | ||
| 111 | }, | ||
| 112 | |||
| 113 | }); |
| 1 | /** | ||
| 2 | * 设置按钮状态 | ||
| 3 | * 0 未聚焦 | ||
| 4 | * 1 聚焦 | ||
| 5 | * 2 未聚焦 + 附加(例如:已收藏) | ||
| 6 | * 3 聚焦 + 附加(例如:已收藏) | ||
| 7 | */ | ||
| 8 | cc.Class({ | ||
| 9 | extends: cc.Component, | ||
| 10 | |||
| 11 | properties: { | ||
| 12 | renderTexture : { | ||
| 13 | default : null, | ||
| 14 | type : cc.Texture2D | ||
| 15 | }, | ||
| 16 | renderRects : { | ||
| 17 | default : [], | ||
| 18 | type : [cc.Rect] | ||
| 19 | }, | ||
| 20 | _iRenderRectIndex : 0, | ||
| 21 | }, | ||
| 22 | |||
| 23 | onLoad:function() { | ||
| 24 | this.setRenderRect(0);//默认加载先取第一张 | ||
| 25 | }, | ||
| 26 | setRenderTexture : function (texture) { | ||
| 27 | this.renderTexture = texture; | ||
| 28 | }, | ||
| 29 | setRenderRect : function (index) { | ||
| 30 | this._iRenderRectIndex = index; | ||
| 31 | let rectRender = this.renderRects[index]; | ||
| 32 | if(this.node.getComponent(cc.Sprite)&&rectRender){ | ||
| 33 | this.node.getComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(this.renderTexture,rectRender.clone());//原先的写法,有点啰嗦 | ||
| 34 | this.node.width = rectRender.width; | ||
| 35 | this.node.height = rectRender.height; | ||
| 36 | } | ||
| 37 | }, | ||
| 38 | getRenderRectIndex : function () { | ||
| 39 | return this._iRenderRectIndex; | ||
| 40 | }, | ||
| 41 | }); |
37 KB
552 KB
1.22 KB
2.81 KB
82 Bytes
| 1 | { | ||
| 2 | "__type__": "cc.AnimationClip", | ||
| 3 | "_name": "TsLoading", | ||
| 4 | "_objFlags": 0, | ||
| 5 | "_native": "", | ||
| 6 | "_duration": 4, | ||
| 7 | "sample": 2, | ||
| 8 | "speed": 1, | ||
| 9 | "wrapMode": 2, | ||
| 10 | "curveData": { | ||
| 11 | "props": { | ||
| 12 | "x": [] | ||
| 13 | }, | ||
| 14 | "comps": { | ||
| 15 | "cc.Sprite": { | ||
| 16 | "spriteFrame": [ | ||
| 17 | { | ||
| 18 | "frame": 0, | ||
| 19 | "value": { | ||
| 20 | "__uuid__": "49835417-a9ef-4d86-940c-686cf28d2f28" | ||
| 21 | } | ||
| 22 | }, | ||
| 23 | { | ||
| 24 | "frame": 0.5, | ||
| 25 | "value": { | ||
| 26 | "__uuid__": "48e18812-8fa6-4ace-91d7-a54e5a4f17e3" | ||
| 27 | } | ||
| 28 | }, | ||
| 29 | { | ||
| 30 | "frame": 1, | ||
| 31 | "value": { | ||
| 32 | "__uuid__": "479e470b-fdc6-48c7-b0ab-e57cd15391fa" | ||
| 33 | } | ||
| 34 | }, | ||
| 35 | { | ||
| 36 | "frame": 1.5, | ||
| 37 | "value": { | ||
| 38 | "__uuid__": "7505611b-ceb1-4faf-93c0-bd4190463597" | ||
| 39 | } | ||
| 40 | }, | ||
| 41 | { | ||
| 42 | "frame": 2, | ||
| 43 | "value": { | ||
| 44 | "__uuid__": "ecbe4010-4a2c-445e-b8a9-9e372a05d9d0" | ||
| 45 | } | ||
| 46 | }, | ||
| 47 | { | ||
| 48 | "frame": 2.5, | ||
| 49 | "value": { | ||
| 50 | "__uuid__": "58f7e7c2-c3de-4028-a0c9-5517ad8b7d3e" | ||
| 51 | } | ||
| 52 | }, | ||
| 53 | { | ||
| 54 | "frame": 3, | ||
| 55 | "value": { | ||
| 56 | "__uuid__": "9b8f687c-493e-4e2e-92c2-298aeccafc07" | ||
| 57 | } | ||
| 58 | }, | ||
| 59 | { | ||
| 60 | "frame": 3.5, | ||
| 61 | "value": { | ||
| 62 | "__uuid__": "07c69c69-c773-4ffb-9402-5ecc021bf105" | ||
| 63 | } | ||
| 64 | } | ||
| 65 | ] | ||
| 66 | } | ||
| 67 | } | ||
| 68 | }, | ||
| 69 | "events": [ | ||
| 70 | { | ||
| 71 | "frame": 0, | ||
| 72 | "func": "", | ||
| 73 | "params": [] | ||
| 74 | }, | ||
| 75 | { | ||
| 76 | "frame": 0, | ||
| 77 | "func": "", | ||
| 78 | "params": [] | ||
| 79 | } | ||
| 80 | ] | ||
| 81 | } | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 1 | { | ||
| 2 | "__type__": "cc.AnimationClip", | ||
| 3 | "_name": "prifileRotation", | ||
| 4 | "_objFlags": 0, | ||
| 5 | "_native": "", | ||
| 6 | "_duration": 2.5, | ||
| 7 | "sample": 60, | ||
| 8 | "speed": 0.1, | ||
| 9 | "wrapMode": 2, | ||
| 10 | "curveData": { | ||
| 11 | "props": { | ||
| 12 | "angle": [ | ||
| 13 | { | ||
| 14 | "frame": 0, | ||
| 15 | "value": 0 | ||
| 16 | }, | ||
| 17 | { | ||
| 18 | "frame": 0.8333333333333334, | ||
| 19 | "value": -120 | ||
| 20 | }, | ||
| 21 | { | ||
| 22 | "frame": 1.6666666666666667, | ||
| 23 | "value": -240 | ||
| 24 | }, | ||
| 25 | { | ||
| 26 | "frame": 2.5, | ||
| 27 | "value": -360 | ||
| 28 | } | ||
| 29 | ] | ||
| 30 | } | ||
| 31 | }, | ||
| 32 | "events": [] | ||
| 33 | } | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
64.3 KB
65.3 KB
55.6 KB
57.5 KB
55.8 KB
64.3 KB
57.7 KB
46 KB
60.6 KB
56.3 KB
56.2 KB
60.5 KB
52.7 KB
52 KB
63.8 KB
68.5 KB
64.2 KB
59.6 KB
44.2 KB
65.4 KB
113 KB
61.5 KB
61.5 KB
62.8 KB
63.1 KB
24 KB
77.2 KB
53.5 KB
15.1 KB
188 Bytes
26 KB
26.9 KB
26.4 KB
25.8 KB
24.6 KB
2.08 KB
769 KB
916 KB
844 KB
16.4 KB
55.2 KB
56.4 KB
52.6 KB
12.2 KB
12.2 KB
28.2 KB
77.4 KB
80.8 KB
15.3 KB
662 KB
10.4 KB
685 Bytes
544 Bytes
548 Bytes
8.77 KB
1.2 KB
1.07 KB
15.9 KB
1.11 MB
1.09 KB
11.3 KB
1.79 KB
3.68 KB
18.5 KB
2.49 KB
2.24 KB
44.5 KB
4.64 KB
59.6 KB
52 KB
22.2 KB
63.8 KB
63.1 KB
64.3 KB
56.3 KB
9.7 KB
49.9 KB
47.1 KB
76.5 KB
21.9 KB
3.68 KB
8.81 KB
7.64 KB
7.3 KB
8.74 KB
7.41 KB
8.48 KB
115 KB
83.3 KB
105 KB
106 KB
50.2 KB
49.3 KB
23.6 KB
46.5 KB
53.5 KB
48.9 KB
14.6 KB
12.2 KB
10.3 KB
14.2 KB
1.3 KB
2.5 KB
3.94 KB
3.35 KB
3.87 KB
3.95 KB
16.6 KB
3.45 KB
740 Bytes
9.34 KB
2.47 KB
2.77 KB
679 Bytes
7.38 KB
7.14 KB
444 Bytes
18.9 KB
17.6 KB
19.1 KB
18.5 KB
18.5 KB
19.1 KB
17.8 KB
3.42 KB
21.7 KB
113 KB
102 KB
115 KB
65.3 KB
55.6 KB
64.3 KB
848 Bytes
54 KB
66.6 KB
48.9 KB
53.5 KB
56.4 KB
53.9 KB
60.7 KB
40.4 KB
51.5 KB
21.3 KB
75.9 KB
43.9 KB
160 KB
59.3 KB
1.61 KB
147 Bytes
1.77 KB
149 Bytes
141 Bytes
1.75 KB
148 Bytes
1.67 KB
3.19 KB
178 Bytes
3.38 KB
180 Bytes
172 Bytes
3.52 KB
168 Bytes
3.35 KB
667 Bytes
221 Bytes
661 Bytes
211 Bytes
211 Bytes
676 Bytes
221 Bytes
678 Bytes
1.92 KB
991 Bytes
1.99 KB
981 Bytes
980 Bytes
2.09 KB
974 Bytes
2.04 KB
113 Bytes
113 Bytes
180 Bytes
194 Bytes
202 Bytes
201 Bytes
201 Bytes
200 Bytes
197 Bytes
182 Bytes
1.14 KB
1020 Bytes
2.71 KB
1.89 KB
1.9 KB
12.5 KB
1001 Bytes
7.35 KB
581 Bytes
11.1 KB
10.9 KB
13.7 KB
429 Bytes
848 Bytes
9.53 KB
446 Bytes
324 Bytes
112 Bytes
111 Bytes
3.13 KB
3.45 KB
39.5 KB
111 Bytes
2.02 KB
527 Bytes
542 Bytes
124 Bytes
2.32 KB
11.9 KB
926 KB
1.11 MB
6.96 KB
15.5 KB
25.8 KB
-
Please register or sign in to post a comment