设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 7081|回复: 13
打印 上一主题 下一主题

[有事请教] mv用的js,但我为什么觉得js不适合做游戏啊

[复制链接]

Lv4.逐梦者

梦石
0
星屑
11247
在线时间
2070 小时
注册时间
2013-6-10
帖子
1518
跳转到指定楼层
1
发表于 2021-4-3 23:01:53 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

加入我们,或者,欢迎回来。

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

x
本帖最后由 小怪兽奇奇侠 于 2021-4-3 23:04 编辑

很纳闷,别人用js做出来的游戏都挺像样的,换我自己来就遇到各种问题。

事情是这样的,最近我尝试自己用html dom和js,不用canvas写网页游戏,为了方便起见也用了jquery,但我发现js和jq的机制不太适合做游戏啊。

js程式运行起来好像是一股脑就往下执行完了,感觉不好做剧情流程控制,比如我有一个类似mv的对话框方法,函数的参数是文字内容,效果是让文字一个字一个字显现,我调用这个函数两次,参数不同,企图做出来这一段对话完了接下一段对话的效果,往往只能成功调用到一个函数,因为程序一股脑执行完的,我觉得这样不好做流程控制。切换场景的话,我是把所有场景都写在一个html里,以不同div划分,以display的none值与否区别显示。但即使是none了,none掉的div里包含的js代码还是照样运行。我觉得这样超麻烦。

还是说用canvas做会好很多?
懂的发表一下自己的见解

点评

我不会用筷子,所以我觉得筷子不适合拿来吃饭。  发表于 2021-4-4 08:39

Lv6.析梦学徒

老鹰

梦石
40
星屑
34923
在线时间
6761 小时
注册时间
2012-5-26
帖子
3263

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

12
发表于 2021-4-8 15:21:41 | 只看该作者
是你自己把游戏逻辑想的太先进了
甚至以为会有各种并行,想调用哪里就会执行哪里一样

基本上都是一个大循环,然后每帧更新一下按键互动、绘制
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1141
在线时间
103 小时
注册时间
2018-12-18
帖子
96
11
发表于 2021-4-8 14:47:25 | 只看该作者
严格意义上来讲游戏是一个无限循环的逻辑,你可以稍微了解一点关于游戏引擎的知识你就知道了,游戏在运行后会按照一个流程不停的循环,简单一点比喻就是  等待输入->更新画面  然后再等待输入,当然我这个只是比较抽象的解释,其实中途还有很多步骤。只有当玩家的输入是结束游戏的时候,程序才会停止退出。而楼主你说的一股脑往下执行,这个只是你整个程序体的逻辑问题,跟是不是js没有一点关系,什么语言的脚本都能实现上述说的游戏逻辑,rm的源代码也是这样的你可以仔细去看看,他会不停的循环场景的update方法,直到切换场景到游戏结束的界面,而游戏中所有的操作更新包括流程都是在场景的update里面执行的。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3378
在线时间
277 小时
注册时间
2019-4-23
帖子
202
10
发表于 2021-4-8 14:04:55 | 只看该作者
有种东西就异步~~不是一股脑~~~虽然你写网页可能是这样~~

点评

好像有个函数叫 requestAnimationFrame 就是这样一帧一帧来绘制展示的  发表于 2021-4-8 14:05
回复 支持 1 反对 0

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
26
在线时间
701 小时
注册时间
2021-3-24
帖子
549
9
发表于 2021-4-8 12:47:11 | 只看该作者

网页DOM层做游戏性能不太行,
JS写游戏注意每个JS之间的互相引用 ,把代码拆开
全家活光光~
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21880
在线时间
9443 小时
注册时间
2012-6-19
帖子
7120

开拓者短篇九导演组冠军

8
发表于 2021-4-4 12:29:52 | 只看该作者
小怪兽奇奇侠 发表于 2021-4-4 10:04
大佬好无情,5555
我确实水平不行,在js实际开发中遇到了不少问题,我这个贴子的重点也是希望和大家寻求一 ...

所以才让你去看看mv原生代码怎么实现的啊
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
14726
在线时间
2169 小时
注册时间
2016-9-20
帖子
867
7
发表于 2021-4-4 11:50:35 | 只看该作者
看了楼主以前贴子想知道等待是怎么写,  其实javascript是一种脚本语言, 他等待实质是有一个完整流程, 并不是方法来, 要是自己模仿的话就须写一套变量计时器,
我发的贴子大多未经整理是草稿 贴子乱七八糟,有多个逻缉不通或表达错误,!!
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
5060
在线时间
705 小时
注册时间
2018-12-11
帖子
241
6
发表于 2021-4-4 11:02:05 | 只看该作者
js做游戏都是canvas+webgl,就算这俩玩意没出来的时候,人们也是用flash做,也不用你说的jq,这东西根本不是用来做游戏的。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
2
星屑
13473
在线时间
2312 小时
注册时间
2011-6-4
帖子
618
5
发表于 2021-4-4 10:37:42 | 只看该作者
这还真不是JS的问题
BUG反馈请加QQ 529283039
水友群 917854767

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
11247
在线时间
2070 小时
注册时间
2013-6-10
帖子
1518
4
 楼主| 发表于 2021-4-4 10:04:56 | 只看该作者
大佬好无情,5555
我确实水平不行,在js实际开发中遇到了不少问题,我这个贴子的重点也是希望和大家寻求一个思路的,嘲讽我也不要紧,因为我确实水平不行,但心里不是滋味也是真的
想起了当年中考的一篇文章,叫做父亲二十年前的叮嘱,文末父亲叮嘱儿子,假如儿子以后功成名就,遇到了像他那样的人,要尊重人家。
我不会要求别人对我怎么样,现实中不会要求,更不要提网络环境了。但我以后如果水平真的有所提升,我还会来编辑这个帖子的。如果未来的我遇到了像今天的我这样无知的人,现实中面对面我会尊重人家,网络上也是。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-1-14 02:48

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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