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

Project1

 找回密码
 注册会员
搜索
楼主: zh99998
打印 上一主题 下一主题

[RMVX发布] RM视频播放器 [2011-4-20更新异步模式 可以融合进 RM 画面]

  [复制链接]

Lv2.观梦者

傻♂逼

梦石
0
星屑
369
在线时间
1605 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

41
发表于 2011-4-19 12:42:18 | 只看该作者
蕾米莉亚·斯卡雷特 发表于 2011-4-18 21:37
那啥, 我的做法是直接在 RM 的窗口上描绘刷新的话, 没有创建子窗口.

不过使用子窗口来覆盖掉原 RM 窗口的 ...

不用啊……子窗体的位置就是相对父窗体的吧……
哎呀,蛋疼什么的最有爱了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

百合乡の蕾咪

梦石
0
星屑
55
在线时间
151 小时
注册时间
2011-1-12
帖子
198
42
发表于 2011-4-19 14:56:18 | 只看该作者
回复 yangff 的帖子

都说了, 现在的做法没有子窗口~~
回复 支持 反对

使用道具 举报

Lv2.观梦者

傻♂逼

梦石
0
星屑
369
在线时间
1605 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

43
发表于 2011-4-19 16:05:52 | 只看该作者
蕾米莉亚·斯卡雷特 发表于 2011-4-19 14:56
回复 yangff 的帖子

都说了, 现在的做法没有子窗口~~

我的意思是这样……
诡异的vx……视屏居然1桢都没掉……Flash你敢不敢别这么蛋疼……
video_full.rar (1.43 MB, 下载次数: 912)

评分

参与人数 1星屑 +1000 收起 理由
蕾米莉亚·斯卡雷特 + 1000 嘛, 谢谢指点~~

查看全部评分

哎呀,蛋疼什么的最有爱了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

百合乡の蕾咪

梦石
0
星屑
55
在线时间
151 小时
注册时间
2011-1-12
帖子
198
44
发表于 2011-4-19 16:39:11 | 只看该作者
本帖最后由 蕾米莉亚·斯卡雷特 于 2011-4-19 16:48 编辑

回复 yangff 的帖子

居然可以? = =
求原理~~~

定制 Game.exe 可不行~~~

-----------------------------------

了解了, 创建窗口什么的. 恩, 咱试试整合一下~~~
回复 支持 反对

使用道具 举报

Lv2.观梦者

傻♂逼

梦石
0
星屑
369
在线时间
1605 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

45
发表于 2011-4-19 18:47:31 | 只看该作者
蕾米莉亚·斯卡雷特 发表于 2011-4-19 16:39
回复 yangff 的帖子

居然可以? = =

  1. #==============================================================================
  2. # ■ Kernel
  3. #------------------------------------------------------------------------------
  4. #  该模块中定义了可供所有类使用的方法。Object 类中包含了该模块。
  5. #==============================================================================

  6. module Kernel
  7.   #--------------------------------------------------------------------------
  8.   # ● 需要的 Windows API 函数
  9.   #--------------------------------------------------------------------------
  10.   #没有定制的Game的话……
  11. GetWindowLong=Win32API.new('User32','GetWindowLongA','ll','l')
  12. SetWindowLong= Win32API.new('User32','SetWindowLongA','lll','l')
  13. GetWindowThreadProcessId = Win32API.new("user32", "GetWindowThreadProcessId", "LP", "L")
  14.   GetWindow = Win32API.new("user32", "GetWindow", "LL", "L")
  15.   GetClassName = Win32API.new("user32", "GetClassName", "LPL", "L")
  16.   GetCurrentThreadId = Win32API.new("kernel32", "GetCurrentThreadId", "V", "L")
  17.   GetForegroundWindow = Win32API.new("user32", "GetForegroundWindow", "V", "L")#CreateWindowEx(
  18.   $hInstance=Win32API.new("Kernel32","GetModuleHandleA","","l").call()
  19. #DWORD dwExStyle,LPCTSTR IpClassName,
  20. #LPCTSTR lpWindowName,DWORD dwStyle,
  21. #int x,int y,int nWidth,int nHeight,
  22. #HWND hWndParent,HMENU hMenu,
  23. #HANDLE hInstance,LPVOID lpParam);
  24.   module WS
  25.     EX_MDICHILD=0x40
  26.     EX_WINDOWEDGE=0x100
  27.     #CHILD=0x40000000
  28.     #VISIBLE=0x10000000
  29.      OVERLAPPED      = 0x00000000
  30. POPUP          =  0x80000000
  31. CHILD          =  0x40000000
  32. MINIMIZE       =  0x20000000
  33. VISIBLE        =  0x10000000
  34. DISABLED        = 0x08000000
  35. CLIPSIBLINGS    = 0x04000000
  36. CLIPCHILDREN    = 0x02000000
  37. MAXIMIZE        = 0x01000000
  38. CAPTION         = 0x00C00000   
  39. BORDER          = 0x00800000
  40. DLGFRAME        = 0x00400000
  41. VSCROLL         = 0x00200000
  42. HSCROLL         = 0x00100000
  43. SYSMENU         = 0x00080000
  44. THICKFRAME      = 0x00040000
  45. GROUP           = 0x00020000
  46. TABSTOP         = 0x00010000
  47. MINIMIZEBOX    = 0x00020000
  48.   end
  49.   @hh=0
  50.   CWE = Win32API.new('user32','CreateWindowEx','lppllllllllp','l')
  51.   def self.make_window(x,y,width,height) #return hwnd
  52.     #p $hInstance
  53.     CWE.call(WS::EX_WINDOWEDGE,'RGSS Player','CWebB',WS::CHILD|WS::VISIBLE,x,y,width,height,get_hWnd,0,$hInstance,0)
  54.     #CreateWindowEx.call(1, "Edit", "", W, 0, 0, w, h, GetActiveWindow.call, 1, GetModuleHandle.call(nil), 1)
  55.   end

  56.   #--------------------------------------------------------------------------
  57.   # ● 获取窗口句柄
  58.   #--------------------------------------------------------------------------
  59.   def self.get_hWnd
  60.     return @hh if @hh!=0
  61.     # 获取调用线程(RM 的主线程)的进程标识
  62.     threadID = GetCurrentThreadId.call
  63.     # 获取 Z 次序中最靠前的窗口
  64.     hWnd = GetWindow.call(GetForegroundWindow.call, 0)
  65.     # 枚举所有窗口
  66.     while hWnd != 0
  67.       # 如果创建该窗口的线程标识匹配本线程标识
  68.       if threadID == GetWindowThreadProcessId.call(hWnd, 0)
  69.         # 分配一个 11 个字节的缓冲区
  70.         className = " " * 11
  71.         # 获取该窗口的类名
  72.         GetClassName.call(hWnd, className, 12)
  73.         # 如果匹配 RGSS Player 则跳出循环
  74.         break if className == "RGSS Player"
  75.       end
  76.       # 获取下一个窗口
  77.       hWnd = GetWindow.call(hWnd, 2)
  78.     end
  79.     return @hh=hWnd
  80.   end
  81. end
  82. os=GetWindowLong.call(Kernel.get_hWnd,-16)
  83. SetWindowLong.call(Kernel.get_hWnd,-16,os | 33554432)
复制代码
那就这样……
哎呀,蛋疼什么的最有爱了
回复 支持 反对

使用道具 举报

Lv2.观梦者 (管理员)

八云紫的式神

梦石
0
星屑
544
在线时间
1242 小时
注册时间
2008-1-1
帖子
4282

烫烫烫

46
 楼主| 发表于 2011-4-20 13:57:35 | 只看该作者
4-20更新
v3.0.0420 视频与RM画面共存
rm for linux(wine)制作中,期待夏娜SAMA能实现到webrm上
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
260
在线时间
1373 小时
注册时间
2005-10-16
帖子
5113

贵宾

47
发表于 2011-4-20 16:47:04 | 只看该作者
这个更新好,我可以继续更新下我签名里的东西……

点评

健身软件 @@  发表于 2011-4-21 21:27
签名的是啥???  发表于 2011-4-20 17:05
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

风之塞尔达

梦石
0
星屑
50
在线时间
57 小时
注册时间
2005-10-22
帖子
2492

贵宾

48
发表于 2011-4-21 20:11:00 | 只看该作者
恩  好东西  。。 好久没来

点评

Link 早安.  发表于 2011-4-21 20:14
在程序里延续塞尔达的传说, 在画板上勾勒塞尔达的轮廓!!
回复 支持 反对

使用道具 举报

Lv2.观梦者

傻♂逼

梦石
0
星屑
369
在线时间
1605 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

49
发表于 2011-4-21 21:58:19 | 只看该作者
本帖最后由 yangff 于 2011-4-21 21:58 编辑
zh99998 发表于 2010-11-27 14:47
独占模式:


异步什么的开个线程自动释放吧……再加个Proc什么的……
哎呀,蛋疼什么的最有爱了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

百合乡の蕾咪

梦石
0
星屑
55
在线时间
151 小时
注册时间
2011-1-12
帖子
198
50
发表于 2011-4-21 22:06:29 | 只看该作者
异步的写法感觉是给会写点点脚本的人准备的. 个人感觉.

Ruby 的多线程有点感觉.......

不过, Ruby 多线程怎么写?  忘记了.

咱等下更新下好了.
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-26 10:19

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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