示例#1
0
文件: main.py 项目: hzrandd/FFRPC
def process_move(session, msg):
    print('process_move', msg.ops)
    now_tm = time.time()
    if now_tm - session.player.last_move_tm < 0.1:
        print('move too fast')
        return
    session.player.last_move_tm = now_tm
    offset = g_move_offset.get(msg.ops)
    if None == offset:
        return
    session.player.x += offset[0] * MOVE_SPEED
    session.player.y += offset[1] * MOVE_SPEED
    if session.player.x < 0:
        session.player.x = 0
    elif session.player.x > MAX_X:
        session.player.x = MAX_X
    if session.player.y < 0:
        session.player.y = 0
    elif session.player.y > MAX_Y:
        session.player.y = MAX_Y

    ret_msg     = msg_def.input_ret_t()
    ret_msg.id  = session.get_id()
    ret_msg.ops = msg.ops
    ret_msg.x   = session.player.x
    ret_msg.y   = session.player.y
    print('input', ret_msg)

    session.broadcast(msg_def.server_cmd_e.INPUT_RET, ret_msg)
    #ffext.change_session_scene(session.get_id(), 'scene@0')
    goto_msg = msg_def.input_req_t()
    goto_msg.ops = '%d_%d_%d'%(session.get_id(), session.player.x, session.player.y)
    session.goto_scene('scene@0', goto_msg)
    return
示例#2
0
def process_move(session, msg):
    print('process_move', msg.ops)
    offset = g_move_offset.get(msg.ops)
    if None == offset:
        return
    session.player.x += offset[0] * MOVE_SPEED
    session.player.y += offset[1] * MOVE_SPEED
    if session.player.x < 0:
        session.player.x = 0
    if session.player.y < 0:
        session.player.y = 0

    ret_msg = msg_def.input_ret_t()
    ret_msg.id = session.get_id()
    ret_msg.ops = msg.ops
    ret_msg.x = session.player.x
    ret_msg.y = session.player.y
    print('input', ret_msg)

    session.broadcast(msg_def.server_cmd_e.INPUT_RET, ret_msg)
    return
示例#3
0
文件: main-bk.py 项目: Crawping/FFRPC
def process_move(session, msg):
    print('process_move', msg.ops)
    offset = g_move_offset.get(msg.ops)
    if None == offset:
        return
    session.player.x += offset[0] * MOVE_SPEED
    session.player.y += offset[1] * MOVE_SPEED
    if session.player.x < 0:
        session.player.x = 0
    if session.player.y < 0:
        session.player.y = 0

    ret_msg     = msg_def.input_ret_t()
    ret_msg.id  = session.get_id()
    ret_msg.ops = msg.ops
    ret_msg.x   = session.player.x
    ret_msg.y   = session.player.y
    print('input', ret_msg)

    session.broadcast(msg_def.server_cmd_e.INPUT_RET, ret_msg)
    return
示例#4
0
def process_move(session, msg):
    print('process_move %s %s' % (session.player.name, msg.ops))
    now_tm = time.time()
    if now_tm - session.player.last_move_tm < 0.1:
        print('move too fast')
        return
    session.player.last_move_tm = now_tm
    offset = g_move_offset.get(msg.ops)
    if None == offset:
        return
    session.player.x += offset[0] * MOVE_SPEED
    session.player.y += offset[1] * MOVE_SPEED
    if session.player.x < 0:
        session.player.x = 0
    elif session.player.x > MAX_X:
        session.player.x = MAX_X
    if session.player.y < 0:
        session.player.y = 0
    elif session.player.y > MAX_Y:
        session.player.y = MAX_Y

    ret_msg = msg_def.input_ret_t()
    ret_msg.id = session.get_id()
    ret_msg.ops = msg.ops
    ret_msg.x = session.player.x
    ret_msg.y = session.player.y
    print('input', ret_msg)

    session.broadcast(msg_def.server_cmd_e.INPUT_RET, ret_msg)
    #下面的代码模拟的是调scene,goto_scene直接完成调scene,so easy!
    #由于本demo没有启动多个scene,所以这里只是把player对象传过去,没有给client发送player消失消息
    goto_msg = msg_def.input_req_t()
    goto_msg.ops = '%d_%d_%d_%s' % (session.get_id(), session.player.x,
                                    session.player.y, session.player.name)

    print('goto_msg:', goto_msg)
    session.goto_scene('scene@0', goto_msg)
    return
示例#5
0
def process_move(session, msg):
    print('process_move %s %s'%(session.player.name, msg.ops))
    now_tm = time.time()
    if now_tm - session.player.last_move_tm < 0.1:
        print('move too fast')
        return
    session.player.last_move_tm = now_tm
    offset = g_move_offset.get(msg.ops)
    if None == offset:
        return
    session.player.x += offset[0] * MOVE_SPEED
    session.player.y += offset[1] * MOVE_SPEED
    if session.player.x < 0:
        session.player.x = 0
    elif session.player.x > MAX_X:
        session.player.x = MAX_X
    if session.player.y < 0:
        session.player.y = 0
    elif session.player.y > MAX_Y:
        session.player.y = MAX_Y

    ret_msg     = msg_def.input_ret_t()
    ret_msg.id  = session.get_id()
    ret_msg.ops = msg.ops
    ret_msg.x   = session.player.x
    ret_msg.y   = session.player.y
    print('input', ret_msg)

    session.broadcast(msg_def.server_cmd_e.INPUT_RET, ret_msg)
    #下面的代码模拟的是调scene,goto_scene直接完成调scene,so easy!
    #由于本demo没有启动多个scene,所以这里只是把player对象传过去,没有给client发送player消失消息
    goto_msg = msg_def.input_req_t()
    goto_msg.ops = '%d_%d_%d_%s'%(session.get_id(), session.player.x, session.player.y,
                                  session.player.name)
    
    print('goto_msg:', goto_msg)
    session.goto_scene('scene@0', goto_msg)
    return