怎么控制人物行走动画与移动

前言

大家好我是秃头ca,(我们有个团队开发游戏的,全是小学生,群QQ号724785408)今天我们来写一个人物动画移动的代码,大家可用于创建游戏,素材是我自己找的

import tkinter as tk
import time
window = tk.Tk()
window.geometry('405*720+968+111')
w = 405
h = 720
cv = tk.Canvas(window,bg='#082030,width=w,height=h)
cv.pack()

这是窗口和画布的设置

接下来,我们导入图片素材,这里我弄的是12p,操作比较丝滑(此处省略几行代码)

(这里不知道怎么回事代码怎么弄都对不齐这里应该是对齐后面两行的tk对齐上面的tk)

image_walk_r = [tk.PhoneImage(file="walk/walk_r01.png"),
 
 tk.PhoneImage(file="walk/walk_r02.png"),
 tk.PhoneImage(file="walk/walk_r03.png"),
……

接下来我们在画布中间创建角色

walk_r = cv.create_image(w/2,h/2,image=image_walk_r[0])

接下来,我们创建动画函数(12是因为我import了12张图)

right_index = 0
def walk_right():
    global right_index
    right_index += 1
    cv.itemconfig(walk_r,image=image_walk_r[right_index % 12])

好了。大家接下来可以根据自己的需要来确定小人什么时候走

 

 

 

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
VC++场景游戏,人物移动,学VC、编游戏中的示例,它的实现,靠的是以下知识和技术:   1.建立DirectX环境和创建工作页面的方法。   2.各种页面内容的拷贝方法。   3.GDI与DirectX图形处理方法的简单比较。   游戏测试操作方法:   A、在场景内点任意点,指挥主角移动。   B、将鼠标移到场景外,可以移动地图。   C、在微缩地图上点一下,可以快速定位。   D、ESC键,退出游戏。   你可以指挥主角去打猎了。但打不死的,因为这里我们还没有加对象的生命值。      部分代码:   #define MAXINT 8192 //定义一个最大整数, 地图上任意两点距离不会超过它8192   #define STACKSIZE 38536 //保存搜索节点的堆栈大小65536   #define tile_num(x,y) ((y)*map_w+(x)) //将 x,y 坐标转换为地图上块的编号   #define tile_x(n) ((n)%map_w) //由块编号得出 x,y 坐标   char map[WIDTH*SCRP/GX+2][HEIGHT*SCRP/GY+2];//地图障碍格数据    int map_w,map_h;//地图障碍格宽和高    int start_x,start_y,end_x,end_y; //起点坐标,终点坐标    PATHN pathn[500];//重组路径    int findpath();//路径寻找主函数    int stackmax;//最大值    private://私有,类内部使用    LINK queue;//保存没有处理的行走方法的节点    TREE stack[STACKSIZE]; //保存已经处理过的节点(搜索完后释放)    int dis_map[WIDTH*SCRP/GX+2][HEIGHT*SCRP/GY+2];//保存搜索路径时,中间目标地最优解    void init_queue();// 初始化队列    void enter_queue(TREE node,int f);//待处理节点入队列,依靠对目的地估价距离插入排序    TREE get_from_queue(); //将离目的地估计最近的方案出队列    void freetree();//释放申请过的所有节点    int judge(int x,int y);//估价函数,估价x,y到目的地的距离,估计值必须保证比实际值小    int trytile(int x,int y,TREE father);//尝试下一步移动到x,y可行否    int zlpath(); //重组路径
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值