测试

GameTop

 找回密码
 立即注册
Cmgame Maker-0.9.1
LuaJit + OpenGL,提取码:2m1n
讨论 - 资源 - 下载- 官网
RPG Maker
于初学者使用,采用Ruby作为脚本语言
帮助文档 - 讨论 - 资源 - 下载
     
搜索
查看: 1127|回复: 1

[原创发布] Cmapeditor-可视化地图编辑器v1.0正式版发布

[复制链接]

13

主题

29

帖子

342

积分

版主

Rank: 7Rank: 7Rank: 7

积分
342
QQ

大宇怪 Lv:66
发表于 2019-11-30 00:32:27 | 显示全部楼层 |阅读模式

大家好,我是你谁不重要.
这是我制作的一款CM扩展工具
可视化地图编辑让你用cm秒做RPG
简单几步应用地图
(导入图片,绘制地图,导出读取.)

做了很久了,平时很忙一有时间我就会更新,这里感谢沉默@安静的沉默 一直在坚持制作CM这款引擎,也希望以后会有越来越多的人来支持cm.
CM交流群号: 图片
下载:链接: https://pan.baidu.com/s/1Hs-MpBm6_14eF9WeQ17fTw 提取码: whud

关于使用的话请使用以下脚本在cm里面即可调用(后期我会补录视频教程)
[Lua] 纯文本查看 复制代码
--=========================================================================================--
--       _____                                         __  ___      __
--      / ___/________  _____ _____ ________  ___     /  |/  /_____/ /_____  _____
--     / /   / __ `__ \/__  `/ __ `/ __ `__ \/ _ \   / /|_/ / __ `/ //_/ _ \/ ___/
--    / /___/ / / / / / /_/ / /_/ / / / / / /  __/  / /  / / /_/ / ,< /  __/ /
--   /_____/_/ /_/ /_/\__, /\__,_/_/ /_/ /_/\___/  /_/  /_/\__,_/_/|_|\___/_/
--                   /____/
--
-- 作者:奕          创建时间:2018年5月20日18时52分26秒
--========================================================================================--


require "Sys/AStar"

Map  = class()



--=============================================================================--
--  构造函数
--=============================================================================--
function Map:初始化(data)
        
        --缩放
        self.缩放 = 1
        
        self.data = 分割文本(读入文本(data),"&")
        
        self.img_data = C纹理.载入(self.data[4])
        
        self.spirit = C_精灵.创建(self.img_data)
        
        As = AStar.创建(到数值(self.data[2]),到数值(self.data[3]))
        
        self.返回路径组 = {}
        
        self.blook_data_all = {}
        
        self.siez = 32
        
        for i=1 , 5 do
                self.blook_data_all[i] = 分割文本(self.data[4 + i],",")
                for j = 1 ,#self.blook_data_all[i] do
                        local temp = 到数值(self.blook_data_all[i][j])
                        local x,y = self:id_xy(temp)
                        self.blook_data_all[i][j] = {x=0,y=0,id=0}
                        self.blook_data_all[i][j].id = temp
                        self.blook_data_all[i][j].x,self.blook_data_all[i][j].y=self:id_xy(temp)
                end
        end
--        置障碍
        self:szza(5)
end
-- 素材_坐标到ID
function Map:xy_id(x,y)
        return (y - 1) * 8 + x
end
-- 素材_ID到坐标
function Map:id_xy(id)
        local id = 到数值(id)
        if id == nil or id == 0 then
                return -1,-1
        end
        local x = 选择(id%8==0,8-1,id%8-1)
        local y = 选择(id/8==取整(id/8),id/8-1,取整(id/8))
        return x,y
end
-- ID到坐标
function Map:_id_xy(id)
        local id = 到数值(id)
        if id == nil or id == 0 then
                return -1,-1
        end
        local w = self.data[2]
        local x = 选择(id%w==0,w,id%w)
        local y = 选择(id/w==取整(id/w),id/w,取整(id/w))+1
        return x,y
end
-- 图层显示
function Map:tc_xs(i)
        local j = 1
        for x_ = 0 , self.data[2]-1 do
                for y_ = 0 , self.data[3]-1 do
                        local x
                        local y
                        local id
                        id = 到数值(self.blook_data_all[i][j].id)
                        x = self.blook_data_all[i][j].x
                        y = self.blook_data_all[i][j].y
                        if id >0 then
                                self.spirit:置渲染区域(x*self.siez,y*self.siez,self.siez,self.siez)
                                self.spirit:显示(y_*(self.siez*self.缩放),x_*(self.siez*self.缩放),self.缩放,self.缩放)
                                
                        end
                        j=j+1
                end
                
        end
        
end

-- 图层显示矩形
function Map:tc_xs_color(i,color)
        local j = 1
        for x_ = 0 , self.data[2]-1 do
                for y_ = 0 , self.data[3]-1 do
                        local id
                        id = 到数值(self.blook_data_all[i][j].id)
                        if id >0 or id == -1 and i ==5 then
                                C图形.画矩形(y_*(self.siez*self.缩放),x_*(self.siez*self.缩放),self.siez*self.缩放,self.siez,color*self.缩放)
                                
                        end
                        j=j+1
                end
                
        end
        
end
-- 设置障碍
function Map:szza(i)
        local j = 1
        for x_ = 0 , self.data[2]-1 do
                for y_ = 0 , self.data[3]-1 do
                        local id
                        id = 到数值(self.blook_data_all[i][j].id)
                        if id >0 or id == -1 and i ==5 then
                                As:置障碍(y_+1,x_+1)
                                
                        end
                        j=j+1
                end
                
        end
        
end

function Map:xl(x,y,mx,my)
        返回路径组 = As:寻找路径(x,y,mx,my)
        if 返回路径组 == nil then
                return 返回路径组
        end
        return 返回路径组
end
function Map:sfza (x,y)
        As:取状态(x,y)
end


--=============================================================================--
-- 更新
--=============================================================================--
function Map:更新()
        



end



--=============================================================================--
-- 显示
--=============================================================================--
function Map:显示(a)
        for i=1,5 do
                self:tc_xs(i)
                
        end
        if a then
                self:tc_xs_color(5,ARGB(100,255,1,1))
        end

end

 




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

6

主题

14

帖子

154

积分

注册会员

Rank: 2

积分
154
QQ
发表于 2019-12-2 16:59:33 | 显示全部楼层
本帖最后由 充气的蘑菇 于 2019-12-2 17:02 编辑

加油,加油,加油,第一楼了

有机会跟CM合并在一起把

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|GameTop ( 辽ICP备19018758号 )

GMT+8, 2020-9-23 08:21 , Processed in 0.163817 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表