123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- import { _decorator, Component, EventTouch, instantiate, Label, Node, Prefab, UITransform, Vec3 } from 'cc';
- import { http } from '../script/http';
- import { getTestUserListMessage } from '../data/data';
- const { ccclass, property } = _decorator;
- @ccclass('test')
- export class test extends Component {
- @property(Node) bg: Node = null;
- @property(Node) level_list: Node = null;
- @property(Prefab) level_item: Prefab = null;
- @property(Node) lab_info: Node = null;
- @property(Node) btn_click: Node = null;
- private m_data_list: string[] = []
- private x_len: number = 0;
- private m_page_number: number = 1
- private m_page_total_number: number = 3
- protected start(): void {
- // let self = this;
- // this.btn_click.on(Node.EventType.TOUCH_END, () => {
- // http.run_get("https://static.hainanmlwl.com/smistatic/user_test.json", (err, data) => {
- // if (!err) {
- // console.log(" -- -", http.static_domain + http.get_test_user_list())
- // // let _data:getTestUserListMessage = JSON.parse(data)
- // self.lab_info.getComponent(Label).string = data;
- // }
- // })
- // })
- this.updatePage(this.m_page_number)
- this.initGameList()
- this.initLevelListTouch()
- }
- initGameList() {
- this.level_list.removeAllChildren()
- for (let index = 0; index < this.m_data_list.length; index++) {
- const element = this.m_data_list[index]
- let item = instantiate(this.level_item)
- item.parent = this.level_list
- }
- }
- initLevelListTouch() {
- this.level_list.on(Node.EventType.TOUCH_START, (et: EventTouch) => {
- })
- this.level_list.on(Node.EventType.TOUCH_MOVE, (et: EventTouch) => {
- let p = new Vec3(et.getUILocation().x, et.getUILocation().y)
- let n_p = this.level_list.parent.getComponent(UITransform).convertToNodeSpaceAR(p)
- let pos = this.level_list.parent.getComponent(UITransform).convertToWorldSpaceAR(this.level_list.position)
- if (this.x_len == 0) {
- this.x_len = (et.getUILocation().x - pos.x) * 2;
- }
- this.level_list.position = new Vec3(n_p.x - this.x_len, this.level_list.position.y);
- })
- this.level_list.on(Node.EventType.TOUCH_END, (et: EventTouch) => {
- this.x_len = 0
- console.log('TOUCH_END ',this.level_list.position.x)
- this.moveScroll()
- this.level_list.position = new Vec3(0,this.level_list.position.y)
- })
- this.level_list.on(Node.EventType.TOUCH_CANCEL, (et: EventTouch)=> {
- this.x_len = 0
- console.log('TOUCH_CANCEL ',this.level_list.position.x)
- this.moveScroll()
- this.level_list.position = new Vec3(0,this.level_list.position.y)
- })
- }
- moveScroll() {
- if(this.level_list.position.x < 0) { // 向左滑动
- console.log('向左滑动')
- this.onNextPage()
- }
- if(this.level_list.position.x > 0) { // 向右滑动
- this.onUpPage()
- }
- }
- updatePage(page: number) {
- this.m_page_number = page
- if (page == 1) {
- this.m_data_list = ['1', '2', '3', '4', '5', '6']
- } else if(page == 2) {
- this.m_data_list = ['1', '2', '3', '4']
- } else {
- this.m_data_list = ['1']
- }
- this.initGameList()
- }
- onUpPage() {
- let c_page_number = this.m_page_number - 1
- if(c_page_number < 1) {
- return
- }
- this.updatePage(c_page_number)
- }
- onNextPage() {
- let c_page_number = this.m_page_number + 1
- if(c_page_number > this.m_page_total_number) {
- return
- }
- this.updatePage(c_page_number)
- }
- }
|