Information processing method and device, electronic equipment, storage medium and program product
By performing multi-coordinate system transformation and skill indicator control display in terminal devices, the problem of low mapping accuracy in mobile phone simulator is solved, and higher game operation accuracy and adaptability are achieved.
Patent Information
- Application Number
- CN202510315936.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-17
- Publication Date
- 2025-07-04
AI Technical Summary
When running mobile applications or games through mobile phone simulators, the mapping accuracy in the prior art is low, unable to adapt to different virtual characters and mobile phone simulator interface resolutions, and cannot handle special cases such as two-stage spell casting and special rules.
The terminal device provides a graphical user interface, and generates virtual key triggering instructions in response to keyboard key triggering operations, determines mouse cursor coordinates, and performs multi-coordinate system transformation, including polar coordinate conversion, to display the skills corresponding to the skill indicator control and casts virtual keys.
Improves the accuracy of the operation, adapts to different virtual characters and mobile phone simulator interfaces, handles special situations, and improves the accuracy of game operations.
Smart Images

Figure CN120256018A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the technical fields of electronic computers and the Internet, and particularly to an information processing method, apparatus, electronic device, storage medium, and program product. Background Art
[0002] This section aims to provide background or context for the embodiments of the present disclosure recited in the claims. The description herein is not admitted to be prior art merely by including it in this section.
[0003] A mobile phone emulator is a software tool that can simulate the environment of a mobile phone operating system on a computer and allows users to run mobile phone applications and games.
[0004] When running a mobile phone application or game on a computer through a mobile phone emulator, the user realizes the control through a keyboard and mouse device connected to the computer, and through mapping, it acts on the mobile phone application or game.
[0005] However, in the above solution, the accuracy of the mapping is relatively low. Summary of the Invention
[0006] In view of this, the purpose of the present disclosure is to propose an information processing method, apparatus, electronic device, storage medium, and program product to solve at least one of the technical problems in the related art to a certain extent.
[0007] Based on the above purpose, a first aspect of an exemplary embodiment of the present disclosure provides an information processing method. A graphical user interface is provided through a terminal device. A mobile phone emulator runs in the terminal device, and a game program runs in the mobile phone emulator. The graphical user interface includes a mobile phone emulator interface, and the mobile phone emulator interface includes a game program interface. The game program interface displays at least part of the game scene. The terminal device is connected to a keyboard and a mouse. The method includes:
[0008] In response to a trigger operation on a preset key on the keyboard, generate a trigger instruction for a virtual key corresponding to the preset key in the game program interface;
[0009] In response to the trigger instruction, determine the first coordinate of the cursor corresponding to the mouse in the first coordinate system of the mobile phone emulator interface, transform the first coordinate to the second coordinate system of the game program interface to obtain a second coordinate, and use the second coordinate as the initial position coordinate of the skill display identifier;
[0010] Determine the polar coordinate angle component corresponding to the second coordinate in the third coordinate system of the skill display identifier relative to the game program interface and the polar coordinate radius component corresponding to the second coordinate in the fourth coordinate system of the skill display identifier relative to the game scene;
[0011] Based on the polar coordinate angle component and the polar coordinate radius component, obtain the polar coordinates, determine the rectangular coordinates corresponding to the polar coordinates in the fifth coordinate system of the skill indication control relative to the game program interface, transform the rectangular coordinates to the second coordinate system and then to the first coordinate system to obtain the coordinates of the skill indication control;
[0012] Based on the coordinates of the skill indication control, display the skill indication control and the skill display identifier in the game program interface, and cast the skill corresponding to the virtual button in the virtual scene.
[0013] Based on the same inventive concept, a second aspect of the exemplary embodiments of the present disclosure provides an information processing device. A graphical user interface is provided through a terminal device. A mobile phone emulator runs in the terminal device, and a game program runs in the mobile phone emulator. The graphical user interface includes a mobile phone emulator interface, and the mobile phone emulator interface includes a game program interface. The game program interface displays at least a part of the game scene. The terminal device is connected to a keyboard and a mouse. The device includes:
[0014] A trigger module, configured to generate a trigger instruction for a virtual button corresponding to the preset button in the game program interface in response to a trigger operation on the preset button on the keyboard;
[0015] An initial coordinate determination module, configured to determine a first coordinate of the cursor corresponding to the mouse in the first coordinate system of the mobile phone emulator interface in response to the trigger instruction, transform the first coordinate to the second coordinate system of the game program interface to obtain a second coordinate, and use the second coordinate as the initial position coordinate of the skill display identifier;
[0016] A coordinate mapping module, configured to determine the polar coordinate angle component corresponding to the second coordinate in the third coordinate system of the skill display identifier relative to the game program interface and the polar coordinate radius component corresponding to the second coordinate in the fourth coordinate system of the skill display identifier relative to the game scene;
[0017] A coordinate transformation module, configured to obtain polar coordinates based on the polar coordinate angle component and the polar coordinate radius component, determine the rectangular coordinates corresponding to the polar coordinates in the fifth coordinate system of the skill indication control relative to the game program interface, transform the rectangular coordinates to the second coordinate system and then to the first coordinate system to obtain the coordinates of the skill indication control;
[0018] A display and release module, configured to display the skill indication control and the skill display identifier in the game program interface based on the coordinates of the skill indication control, and release the skill corresponding to the virtual button in the virtual scene.
[0019] Based on the same inventive concept, a third aspect of the exemplary embodiments of the present disclosure provides an electronic device, including a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the program, the method described in the first aspect is implemented.
[0020] Based on the same inventive concept, a fourth aspect of the exemplary embodiments of the present disclosure provides a non-transitory computer-readable storage medium storing computer instructions for causing a computer to execute the method described in the first aspect.
[0021] Based on the same inventive concept, a fifth aspect of the exemplary embodiments of the present disclosure provides a computer program product including computer program instructions that, when run on a computer, cause the computer to execute the method described in the first aspect.
[0022] As can be seen from the above, the information processing method, apparatus, electronic device, storage medium, and program product provided by the embodiments of the present disclosure provide a graphical user interface through a terminal device. A mobile phone emulator runs in the terminal device, and a game program runs in the mobile phone emulator. The graphical user interface includes a mobile phone emulator interface, and the mobile phone emulator interface includes a game program interface. At least part of the game scene is displayed in the game program interface. The terminal device is connected to a keyboard and a mouse. The method includes: in response to a trigger operation on a preset key on the keyboard, generating a trigger instruction for a virtual key corresponding to the preset key in the game program interface; in response to the trigger instruction, determining a first coordinate of the cursor corresponding to the mouse in a first coordinate system of the mobile phone emulator interface, transforming the first coordinate to a second coordinate system of the game program interface to obtain a second coordinate, and using the second coordinate as the initial position coordinate of a skill display identifier; determining a polar coordinate angle component corresponding to the second coordinate in a third coordinate system of the skill display identifier relative to the game program interface and a polar coordinate radius component corresponding to the second coordinate in a fourth coordinate system of the skill display identifier relative to the game scene; obtaining a polar coordinate based on the polar coordinate angle component and the polar coordinate radius component, determining a rectangular coordinate corresponding to the polar coordinate in a fifth coordinate system of a skill indication control relative to the game program interface, transforming the rectangular coordinate to the second coordinate system and then to the first coordinate system to obtain the coordinate of the skill indication control; based on the coordinate of the skill indication control, displaying the skill indication control and the skill display identifier in the game program interface, and casting a skill corresponding to the virtual key in the virtual scene, thereby improving the accuracy. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] In order to more clearly illustrate the technical solutions in the present disclosure or related technologies, the following will briefly introduce the drawings required for use in the embodiments or related technology descriptions. Obviously, the drawings in the following description are only the embodiments of the present disclosure. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0024] Figure 1 FIG. is a schematic diagram of an application scenario of the information processing method provided by an exemplary embodiment of the present disclosure;
[0025] Figure 2 FIG. is a schematic diagram of another application scenario of the information processing method provided by an exemplary embodiment of the present disclosure;
[0026] Figure 3 FIG. is a schematic flowchart of the information processing method provided by an exemplary embodiment of the present disclosure;
[0027] Figure 4Another flowchart of the information processing method provided by the exemplary embodiment of the present disclosure;
[0028] Figure 5 A structural diagram of the information processing device provided by the exemplary embodiment of the present disclosure;
[0029] Figure 6 A structural diagram of the electronic device provided by the exemplary embodiment of the present disclosure. Detailed implementation manners
[0030] It can be understood that before using the technical solutions disclosed in the embodiments of the present application, the types, usage scopes, usage scenarios, etc. of the personal information involved in the present application should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with relevant laws and regulations.
[0031] For example, when receiving a user's active request, a prompt message is sent to the user to clearly prompt the user that the operation requested by the user will require obtaining and using the user's personal information. Thus, the user can autonomously choose whether to provide personal information to the software or hardware such as an electronic device, an application program, a server, or a storage medium that executes the technical solution of the present application according to the prompt message.
[0032] As an optional but non-limiting implementation manner, the manner of sending a prompt message to the user in response to receiving the user's active request may be, for example, in the form of a pop-up window, and the prompt message may be presented in text in the pop-up window. In addition, the pop-up window may also carry a selection control for the user to choose "agree" or "disagree" to provide personal information to the electronic device.
[0033] It can be understood that the above process of notifying and obtaining the user's authorization is only illustrative and does not limit the implementation manner of the present application. Other manners that meet relevant laws and regulations can also be applied to the implementation manner of the present application.
[0034] It can be understood that the data involved in the technical solution of the present application (including but not limited to the data itself, the acquisition or use of the data) should comply with the requirements of the corresponding laws, regulations and related provisions.
[0035] To make the purpose, technical solution and advantages of the present disclosure clearer and more understandable, the principles and spirits of the present disclosure will be described below with reference to several exemplary embodiments. It should be understood that these embodiments are only provided to enable those skilled in the art to better understand and then implement the present disclosure, rather than limiting the scope of the present disclosure in any way. On the contrary, these embodiments are provided to make the present disclosure more thorough and complete, and to be able to fully convey the scope of the present disclosure to those skilled in the art.
[0036] In this document, it should be understood that any number of elements in the drawings is for illustration rather than limitation, and any naming is only for distinction without any limiting meaning.
[0037] It should be noted that unless otherwise defined, the technical terms or scientific terms used in the embodiments of the present disclosure should have the ordinary meaning understood by those of ordinary skill in the field to which the present disclosure pertains. The "first", "second" and similar terms used in the embodiments of the present disclosure do not denote any order, quantity or importance, but are only used to distinguish different components. Words such as "including" or "comprising" mean that the elements or objects appearing before this word cover the elements or objects listed after this word and their equivalents, without excluding other elements or objects. Words such as "connected" or "coupled" are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect. "Upper", "lower", "left", "right", etc. are only used to represent relative positional relationships, and when the absolute position of the object being described changes, the relative positional relationship may also change accordingly. The article "a" or "an" before an element does not exclude the existence of multiple such elements.
[0038] Next, with reference to several representative embodiments of the present disclosure, the principles and spirit of the present disclosure will be elaborated in detail.
[0039] Reference Figure 1 , which is a schematic diagram of an application scenario of the information processing method provided by an exemplary embodiment of the present disclosure.
[0040] In this application scenario, it includes a terminal device 100, a keyboard 200, and a mouse 300. Among them, the terminal device 100, the keyboard 200, and the mouse 300 can all be connected through a wired or wireless communication network to achieve data interaction.
[0041] The terminal device 100 can be an electronic device near the user side with data transmission, multimedia input / output functions, including but not limited to desktop computers, mobile phones, mobile computers, tablets, media players, smart wearable devices, personal digital assistants (PDAs), or other electronic devices capable of implementing the above functions. The electronic device may include a processor and a display screen with touch input function, the display screen is used to present a graphical user interface, the graphical user interface can display an application interface, and the processor is used to process application data, generate a graphical user interface, and control the display of the graphical user interface on the display screen.
[0042] A mobile phone emulator is installed on the terminal device 100, which can simulate the environment of a mobile phone operating system on the terminal device 100 and allow users to run mobile phone applications and games.
[0043] When running a mobile application or game on the terminal device 100 through a mobile phone emulator, the user realizes the control through the keyboard 200 and the mouse 300 connected to the terminal device 100, and acts on the mobile application or game through mapping.
[0044] Reference Figure 2 , as an example, taking running a MOBA (Multiplayer Online Battle Arena) game on the terminal device 100 through a mobile phone emulator as an example for illustration:
[0045] The terminal device 100 provides a graphical user interface 101, and the graphical user interface 101 includes an operation interface and at least part of a virtual scene. The terminal device 100 is connected to the keyboard 200 and the mouse 300.
[0046] Virtual buttons 102 corresponding to the physical buttons on the keyboard 200 and a cursor 103 corresponding to the mouse 300 are displayed in the graphical user interface 101.
[0047] When the user presses a physical button on the keyboard 200, the virtual button 102 corresponding to the pressed physical button in the graphical user interface 101 is determined, and a trigger event for the virtual button 102 is generated.
[0048] After the virtual button 102 is triggered, a skill indication circle 104 is displayed around the virtual button 102, and a skill indication identifier 105 is displayed in the skill indication circle 104.
[0049] Obtain the coordinates of the cursor 103 corresponding to the mouse 300 in the graphical user interface 101, and determine the position of the skill indication identifier 105:
[0050] The mapping process is to map the point M to the coordinate system with the point P as the origin and the radius of the skill indication circle 103 as the unit length in the coordinate system with the center of the graphical user interface 101 as the origin and the radius of the skill display circle 106 as the unit length, which is T. The point M and the point T have the same polar coordinates.
[0051] It should be noted that in an electronic game, since a skill usually has a release range limit, the cursor 103 may not correspond to the actual mapped position of the mouse 300 in the graphical user interface 101 within the skill release range (display range) 106.
[0052] Based on the position of the skill indication identifier 105 in the skill indication circle 104, the skill release position 107 is determined, and the skill is released at the skill release position 107.
[0053] However, the inventors of the present disclosure have found that in the above solution, the accuracy of mapping is relatively low. The reasons for the low accuracy of mapping in the above solution are as follows:
[0054] First, this solution adopts the method of circular direct mapping and has the following assumptions: the skill display circle and the skill indication circle are perfect circles; the initial casting position is also the center of the skill indication circle; the center of the skill display circle is the center of the mobile emulator interface. Among them, there are problems with the basic assumptions. The indication circle is not a perfect circle but is similar to an ellipse. Therefore, this solution cannot accurately map and can only provide approximate mapping.
[0055] Second, this solution needs to provide the skill indication circle radius and the display circle radius parameters for each casting position. Different virtual characters and different skills often have different radius parameters; at the same time, for different mobile emulator interface resolutions, the radius parameters are also different. Therefore, a general configuration cannot be given under this solution, and configurations need to be given separately for different mobile emulator interface resolutions and different virtual characters, requiring players to select them by themselves during the game, which also brings operation costs.
[0056] At the same time, the fixed mapping method of this solution makes it inapplicable to the handling of various special situations. For example, some virtual characters have "second-stage casting" and "multi-state casting"; some virtual characters have special casting rules, such as being unable to cast at their own feet; the position of the character will not always remain at the center of the mobile emulator interface; the P point is not necessarily the center of the indication circle. When these situations occur, many basic assumptions of this solution no longer hold, and the solution will fail.
[0057] To solve the above problems, the present disclosure provides an information processing solution. A graphical user interface is provided through a terminal device. A mobile emulator runs in the terminal device, and a game program runs in the mobile emulator. The graphical user interface includes a mobile emulator interface, and the mobile emulator interface includes a game program interface. The game program interface displays at least part of the game scene. The terminal device is connected to a keyboard and a mouse. The method specifically includes:
[0058] In response to a triggering operation on a preset key on the keyboard, generate a triggering instruction for a virtual key corresponding to the preset key in the game program interface; in response to the triggering instruction, determine a first coordinate of a cursor corresponding to the mouse in a first coordinate system of the mobile phone emulator interface, transform the first coordinate to a second coordinate system of the game program interface to obtain a second coordinate, and use the second coordinate as an initial position coordinate of a skill display identifier; determine a polar coordinate angle component corresponding to the second coordinate in a third coordinate system of the skill display identifier relative to the game program interface and a polar coordinate radius component corresponding to the second coordinate in a fourth coordinate system of the skill display identifier relative to the game scene; obtain a polar coordinate based on the polar coordinate angle component and the polar coordinate radius component, determine a rectangular coordinate corresponding to the polar coordinate in a fifth coordinate system of a skill indication control relative to the game program interface, transform the rectangular coordinate to the second coordinate system and then to the first coordinate system to obtain the coordinate of the skill indication control; based on the coordinate of the skill indication control, display the skill indication control and the skill display identifier in the game program interface, and cast a skill corresponding to the virtual key in the virtual scene, improving the accuracy.
[0059] After introducing the basic principles of the present disclosure, various non-limiting embodiments of the present disclosure will be specifically introduced below.
[0060] The following combines Figure 1 and Figure 2 application scenarios to describe an information processing method according to an exemplary embodiment of the present disclosure. It should be noted that the above application scenarios are only shown for the convenience of understanding the spirit and principles of the present disclosure, and the embodiments of the present disclosure are not limited in this regard. On the contrary, the embodiments of the present disclosure can be applied to any applicable scenario.
[0061] Refer to Figure 3 , which is a schematic flowchart of an information processing method provided by an exemplary embodiment of the present disclosure.
[0062] An information processing method provides a graphical user interface through a terminal device. A mobile phone emulator runs in the terminal device, a game program runs in the mobile phone emulator, the graphical user interface includes a mobile phone emulator interface, the mobile phone emulator interface includes a game program interface, the game program interface displays at least part of a game scene, and the terminal device is connected to a keyboard and a mouse.
[0063] In the terminal device, an application program that supports games, such as an application program that supports 3D games or 2D games, is installed and run through a mobile phone emulator. In the embodiments of the present application, the application program is introduced as a game application. Optionally, the application program can be a stand-alone application program, such as a stand-alone 3D game program, or a network online version of the application program. The terminal device is a terminal that is used to provide a graphical user interface and can perform control operations on a controlled virtual object.
[0064] The graphical user interface includes a mobile phone emulator interface, and the mobile phone emulator interface includes a game program interface. The game program interface displays at least part of the game scene. Among them, the graphical user interface is a medium for human-computer interaction and information exchange between the system and the user. The graphical user interface can display system information in a form acceptable to humans, enabling the user to conveniently and efficiently operate the computer to achieve two-way human-computer interaction. The user operation interface can be composed of visual elements such as controls, text, graphics, images, icons, input boxes, etc. In an alternative embodiment, the user operation interface can include a collection control, a research control, a sortie control, etc. In an alternative embodiment, the game scene is the display screen corresponding to the virtual scene displayed by the terminal device. The game scene can include a controlled virtual object that executes game logic in the virtual scene, etc. The graphical user interface can present the entire virtual scene or only a part of the virtual scene.
[0065] The game scene is a virtual scene displayed (or provided) when the application program runs on the terminal or the server, that is, the scene used during the normal game process. That is to say, the virtual scene refers to the virtual game control that carries the virtual object during the game process. The virtual object can be controlled by the operation instructions issued by the user (i.e., the player) to the terminal device in the virtual scene to perform actions such as moving and fighting. Optionally, the virtual scene can be a simulation environment of the real world, a semi-simulated and semi-fictional virtual environment, or a purely fictional virtual environment. The virtual scene can be any one of a two-dimensional virtual scene, a 2.5D virtual scene, and a three-dimensional virtual scene. Among them, the virtual scene is a scene where the user controls the virtual object to execute the complete game logic. Optionally, the virtual scene can also be used for virtual battles between at least two virtual objects, and there are virtual resources in the virtual scene that can be collected by multiple virtual objects. Exemplarily, the virtual scene can include any one or more of the following elements: game background elements, game character elements, game prop elements, and game material elements, etc.
[0066] An information processing method includes the following steps:
[0067] Step S310: In response to a triggering operation on a preset key on the keyboard, generate a triggering instruction for a virtual key corresponding to the preset key in the game program interface.
[0068] In some exemplary embodiments, when a user presses a certain key on the keyboard, the terminal device detects the triggering operation of the key.
[0069] As an example, the triggering operation of the key can be key pressing, releasing, long pressing, etc.
[0070] In some exemplary embodiments, the terminal device generates a triggering instruction for a virtual key corresponding to the key in the graphical user interface according to the detected triggering operation of the key.
[0071] As an example, if the user presses the "Q" key on the keyboard, the terminal device can generate a triggering instruction corresponding to the "Skill" virtual key in the graphical user interface.
[0072] In some exemplary embodiments, after receiving the triggering instruction, the graphical user interface performs an operation corresponding to the virtual key.
[0073] As an example, cast the skill corresponding to the "Skill" virtual key.
[0074] In some exemplary embodiments, the terminal device can provide feedback through the graphical user interface, such as visual effect changes (such as color changes, animation effects, etc.) of the virtual key, to prompt the user that the triggering operation has been successfully recognized and executed.
[0075] In some exemplary embodiments, the terminal device can map the physical keys on the keyboard to the virtual keys in the graphical user interface one by one through a predefined key mapping relationship.
[0076] As an example, when the user presses a certain physical key on the keyboard, the terminal device generates a corresponding triggering instruction according to the mapping relationship and executes the function associated with the virtual key.
[0077] In some exemplary embodiments, the terminal device can dynamically adjust the mapping relationship between the keyboard keys and the virtual keys according to the context or user settings.
[0078] As an example, the user can customize the mapping relationship between the keyboard keys and the virtual keys through the settings interface.
[0079] As an example, the terminal device can automatically adjust the mapping relationship according to the currently running application or the context of the graphical user interface.
[0080] Step S320: In response to the trigger instruction, determine the first coordinate of the cursor corresponding to the mouse in the first coordinate system of the mobile phone emulator interface, transform the first coordinate to the second coordinate system of the game program interface to obtain the second coordinate, and use the second coordinate as the initial position coordinate of the skill display identifier.
[0081] In some exemplary embodiments, when a mouse or other cursor control device moves, the terminal device receives cursor position data through an operating system or a hardware driver.
[0082] As an example, the cursor position data can be coordinates relative to the mobile phone emulator interface, usually in pixels.
[0083] In some exemplary embodiments, the terminal device calculates the specific coordinates of the cursor in the first coordinate system according to the received cursor position data.
[0084] As an example, the first coordinate system usually has the center of the mobile phone emulator interface as the origin (0, 0), with the right direction as the positive x-axis direction and the upward direction as the positive y-axis direction.
[0085] In some exemplary embodiments, the terminal device updates the calculated first coordinate to the mobile phone emulator interface in real time to ensure that the cursor position is synchronized with the movement of the mouse or other control devices.
[0086] As an example, the mobile phone emulator interface can efficiently update the cursor position through a rendering engine (such as OpenGL, DirectX, or WebKit).
[0087] In some exemplary embodiments, the transforming the first coordinate to the second coordinate system of the game program interface to obtain the second coordinate includes:
[0088] Normalize the first coordinate based on the size information of the mobile phone emulator interface to obtain a normalized coordinate;
[0089] Transform the normalized coordinate to the second coordinate system to obtain the second coordinate.
[0090] Step S330: Determine the polar coordinate angle component corresponding to the second coordinate in the third coordinate system of the skill display identifier relative to the game program interface and the polar coordinate radius component corresponding to the second coordinate in the fourth coordinate system of the skill display identifier relative to the game scene.
[0091] In some exemplary embodiments, determining the polar coordinate radius component corresponding to the second coordinate in the fourth coordinate system of the skill display identifier relative to the game scene includes:
[0092] Transform the second coordinate to the fourth coordinate system to obtain a fourth coordinate;
[0093] Based on the fourth coordinate and the size information of the bounding box of the fourth coordinate system, obtain the polar coordinate radius component corresponding to the second coordinate in the fourth coordinate system of the skill display identifier relative to the game scene.
[0094] In some exemplary embodiments, the transforming the second coordinate to the fourth coordinate system to obtain a fourth coordinate includes:
[0095] Based on the fourth coordinate system, transform the second coordinate to the clip space to obtain the transpose matrix of the clip coordinate;
[0096] Based on the transpose matrix, obtain the fourth coordinate.
[0097] As an example, the transpose matrix of the clip coordinate is (Mx clip , My clip ) T ;
[0098] Then, solve the following formula:
[0099]
[0100] Obtain M display_world =(M x , 0, M z , 1) T .
[0101] Step S340: Based on the polar coordinate angle component and the polar coordinate radius component, obtain a polar coordinate, determine the rectangular coordinate corresponding to the polar coordinate in the fifth coordinate system of the skill indication control relative to the game program interface, transform the rectangular coordinate to the second coordinate system and then to the first coordinate system to obtain the coordinate of the skill indication control.
[0102] In some exemplary embodiments, the fifth coordinate system of the skill indication control includes the local coordinate system of the skill indication control in the game program interface, with the origin at the center point or a specific point of the control, and the x-axis and y-axis extending along the horizontal and vertical directions respectively.
[0103] As an example, the second coordinate system of the skill indication control can be the center point (0, 0) of the control, with the x-axis to the right and the y-axis upward.
[0104] In some exemplary embodiments, in the second coordinate system of the skill indication control, the polar coordinate is represented by a radius r and an angle θ, and the polar coordinate (r, θ) is converted to a rectangular coordinate (x, y).
[0105] In some exemplary embodiments, the transformation of the rectangular coordinates to the second coordinate system includes:
[0106] Transforming the rectangular coordinates (x, y) from the local second coordinate system to the global second coordinate system.
[0107] In some exemplary embodiments, the coordinates in the second coordinate system are transformed to the first coordinate system. After the above transformation, the coordinates of the skill indication control in the first coordinate system are finally obtained.
[0108] Step S350: Based on the coordinates of the skill indication control, display the skill indication control and the skill display identifier in the game program interface, and cast the skill corresponding to the virtual button in the virtual scene.
[0109] In some exemplary embodiments, the skill indication control includes a roulette-shaped control and a sub-control that can rotate on the roulette-shaped control;
[0110] Then, the displaying of the skill indication control and the skill display identifier in the game program interface based on the coordinates of the skill indication control includes:
[0111] Based on the coordinates of the skill indication control, determining the position of the sub-control on the roulette-shaped control;
[0112] Displaying the roulette-shaped control around the virtual button, and displaying the sub-control on the roulette-shaped control based on the position.
[0113] Reference Figure 2 As an example, the skill indication control includes a roulette-shaped control 104 and a sub-control 105 that can rotate on the roulette-shaped control 104;
[0114] Based on the coordinates of the skill indication control, determining the position of the sub-control 105 on the roulette-shaped control 104;
[0115] Displaying the roulette-shaped control 104 around the virtual button, and displaying the sub-control 105 on the roulette-shaped control 104 based on the position.
[0116] In some exemplary embodiments, the casting of the skill corresponding to the virtual button in the virtual scene includes:
[0117] Determining the position information of the sub-control relative to the roulette-shaped control;
[0118] Based on the position information, determining the release position in the virtual scene;
[0119] Casting the skill corresponding to the virtual button to the release position.
[0120] In some exemplary embodiments, casting the skill corresponding to the virtual button to the casting position includes:
[0121] Controlling the virtual object to cast the skill corresponding to the virtual button to the casting position.
[0122] In this exemplary embodiment, the controlled virtual object refers to a dynamic object that can be controlled in a virtual scene. Optionally, the dynamic object can be a virtual character, a virtual object, etc. The controlled virtual object is an object controlled by the user through an input device, or an artificial intelligence (AI) set in the virtual environment through training. In a possible implementation manner, the user can control the controlled virtual object to move in the virtual scene. For example, the user can control the controlled virtual object to sail or collect virtual resources, etc., and can also control the controlled virtual object to upgrade and develop on the building objects created by itself, and can also control the controlled virtual object to fight with virtual objects of other camps. Optionally, the controlled virtual object can have multiple functions, such as not only having the function of collecting virtual resources, but also having the function of fighting. Optionally, when the virtual environment is a three-dimensional virtual environment, the controlled virtual object can be a three-dimensional virtual model, and each controlled virtual object has its own shape and volume in the three-dimensional virtual environment, occupying a part of the space in the three-dimensional virtual environment. Optionally, the three-dimensional virtual object is a three-dimensional character constructed based on three-dimensional skeleton technology, and the controlled virtual object realizes different external images through wearing technology. In some implementation manners, the controlled virtual object can also be implemented using a 2.5D or 2D model, and the embodiments of the present application do not limit this.
[0123] In the above exemplary embodiment, the operation of using a mobile application such as a mobile game through a mobile phone emulator on a terminal device and operating through a skill indication control and a skill display identifier is taken as an example for illustration. However, in video games, there are also some other operation methods. Next, the processing of these operation methods by this solution will be introduced:
[0124] When releasing a directional skill, it is not necessary to determine the polar coordinate radius component corresponding to the second coordinate in the fourth coordinate system of the skill display identifier relative to the game scene, and a default value, for example, one, is used.
[0125] When releasing a special directional skill, such as during a normal attack, when determining the polar coordinate radius component corresponding to the second coordinate in the fourth coordinate system of the skill display identifier relative to the game scene, replace the size information of the bounding box of the fourth coordinate system in "transform the second coordinate to the fourth coordinate system to obtain a fourth coordinate; based on the fourth coordinate and the size information of the bounding box of the fourth coordinate system, obtain the polar coordinate radius component corresponding to the second coordinate in the fourth coordinate system of the skill display identifier relative to the game scene" with the distance information of the normal attack.
[0126] When releasing a skill that cannot be at the current position (such as under the feet) of the virtual character, since the skill display identifier is not at the center of the skill display identifier when the skill indication control is at the center of the skill indication control. To handle this situation, a calibration process based on the "skill indication control" and the "skill display identifier" is added. By extracting this additional information, more accurate mapping of the radius mapping in the fourth coordinate system and the fifth coordinate system can be performed. When the user moves the mouse and the skill display identifier appears, calibration is performed in real time.
[0127] As can be seen from the above, the information processing method provided by the embodiments of the present disclosure provides a graphical user interface through a terminal device. A mobile phone emulator runs in the terminal device, and a game program runs in the mobile phone emulator. The graphical user interface includes a mobile phone emulator interface, and the mobile phone emulator interface includes a game program interface. The game program interface displays at least part of the game scene. The terminal device is connected to a keyboard and a mouse. The method includes: in response to a trigger operation on a preset button on the keyboard, generating a trigger instruction for a virtual button corresponding to the preset button in the game program interface; in response to the trigger instruction, determining a first coordinate of the cursor corresponding to the mouse in the first coordinate system of the mobile phone emulator interface, transforming the first coordinate to the second coordinate system of the game program interface to obtain a second coordinate, and using the second coordinate as the initial position coordinate of the skill display identifier; determining the polar coordinate angle component corresponding to the second coordinate in the third coordinate system of the skill display identifier relative to the game program interface and the polar coordinate radius component corresponding to the second coordinate in the fourth coordinate system of the skill display identifier relative to the game scene; obtaining a polar coordinate based on the polar coordinate angle component and the polar coordinate radius component, determining the rectangular coordinate corresponding to the polar coordinate in the fifth coordinate system of the skill indication control relative to the game program interface, transforming the rectangular coordinate to the second coordinate system and then to the first coordinate system to obtain the coordinate of the skill indication control; based on the coordinate of the skill indication control, displaying the skill indication control and the skill display identifier in the game program interface, and releasing the skill corresponding to the virtual button in the virtual scene, which improves the accuracy.
[0128] Through the information processing method provided by the above exemplary embodiments, the operation accuracy when using mobile applications such as mobile games on a terminal device through a mobile phone emulator is improved. However, the present disclosure is not limited thereto. On the basis of the above solutions, a series of optimization means are also provided. Specifically:
[0129] Regarding quick casting: Some players are used to quick casting, that is, quickly pressing the casting button to cast a spell. In this operation, the player first moves the mouse to the target position and then presses the casting button, rather than aiming by moving the mouse. In this case, in the above-mentioned graphics-based intelligent solution, accurate mapping can only be given when there is valid mapping data (extracted frame by frame). When quickly pressing, the screen may not be refreshed and responded in time, and the indication circle, display circle, etc. may not be displayed.
[0130] Regarding quick casting, at the moment when the player presses the casting button, the mapping result needs to be given immediately. In the related art, a solution of providing inaccurate mapping is usually adopted. However, this solution does not adopt the way of providing inaccurate mapping, but is optimized specifically. Specifically:
[0131] Two entities are introduced, mapping config and mapping profile. A mapping profile is all the valid data required for calculating the mapping in the foregoing solution. When there is valid mapping data in a frame, it is equivalent to generating a mapping profile. A mapping config is an initial request from the player. For example, the Q skill and the W skill are two casting buttons, representing two different mapping configs. On this basis, this solution maintains a cache from the mapping config to the mapping profile. The specific process is as follows:
[0132] When the player requests to calculate the mapping, the mapping config is sent as a parameter at the same time;
[0133] The mapping calculation method is processed according to the following priority:
[0134] There is valid data, and the valid mapping data is used;
[0135] There is a mapping profile corresponding to the mapping config, and the corresponding mapping profile is used;
[0136] There is no valid data, nor is there a mapping profile corresponding to the mapping config, and the ordinary mapping method is used.
[0137] When a valid mapping profile is obtained, it is bound or updated with the most recent mapping config.
[0138] In this way, the historical valid mapping data is fully utilized, and the accuracy of quick casting is greatly improved.
[0139] This solution is implemented in the graphics plugin system in the form of a hot-swappable plugin, which can be extended to any Moba game.
[0140] The aforementioned plugin can be regarded as a calculator for intelligent casting mapping. The cooperation between this calculator and the keys and interaction system will be introduced below.
[0141] In contrast to quick casting, as a mobile game, the game introduces the mechanism of "assisted casting" due to the inconvenient operation of mobile games, that is, when the user clicks quickly, the game system directly selects the appropriate casting direction and position, which is mutually exclusive with quick casting. On the emulator, quick casting is more in line with the operation of PC games, but assisted casting also has the meaning of convenient operation.
[0142] Therefore, for any Moba game, there are the following three casting mapping methods:
[0143] Ordinary mapping scheme;
[0144] The game's own assisted casting;
[0145] The game has a graphics plugin, intelligent mapping scheme.
[0146] The key interaction process needs to coordinate these three situations, specifically as follows:
[0147] As Figure 4 shown, when the user presses the casting key, the press event of the casting key is reported, and the relevant time thresholds are initialized:
[0148] Assisted casting time threshold. It means that when the shell receives the trigger casting event within this threshold, the calculation of the skill position and event reporting are not performed; if the user releases the casting key within this threshold, the release event of the casting key is reported, thereby triggering the game's assisted casting. For example, assuming that the current assisted casting time threshold is 100ms, the processing flow of event input is as follows:
[0149] 0ms------key press, reported;
[0150] 8ms------mouse move, filtered and discarded;
[0151] 16ms------mouse move, filtered and discarded;
[0152] 24ms------key release, reported.
[0153] Since the mouse movement event was within the auxiliary casting time threshold (100 ms), the processing of this event was aborted, and finally only the events of the casting key being pressed and released were reported, triggering the auxiliary casting of the game.
[0154] The time threshold of the graphics plugin. It refers to the allowed calculation time of the graphics plugin. If the graphics plugin fails to calculate the skill position within this threshold, the event will not be reported; if the graphics plugin still fails to calculate the skill position after exceeding this threshold, the normal casting will be used instead. For example, assuming the current auxiliary casting time threshold is 100 ms and the graphics plugin time threshold is 200 ms, the processing flow of the event input is as follows:
[0155] 0 ms ------ key press, reported;
[0156] 8 ms ------ mouse move, filtered and discarded.
[0157] 96 ms ------ mouse move, filtered and discarded;
[0158] 112 ms ------ mouse move, the graphics plugin fails to calculate the position, filtered and discarded;
[0159] 128 ms ------ mouse move, the graphics plugin fails to calculate the position, filtered and discarded.
[0160] 192 ms ------ mouse move, the graphics plugin fails to calculate the position, filtered and discarded;
[0161] 208 ms ------ mouse move, the graphics plugin fails to calculate the position, normal mapping, reported;
[0162] 224 ms ------ key release, reported.
[0163] For the failure to calculate the position within the time threshold (200 ms) of the graphics plugin, the processing of the event is aborted. For the mouse movement events after exceeding this threshold, the position is calculated using normal mapping and the event is reported.
[0164] Moreover, taking the invalidation of the relevant time threshold as an event source, the casting is triggered through a timer to avoid the situation where the casting cannot be triggered due to the abortion of the previous event processing and the lack of mouse movement in the later stage. Finally, when the user releases the casting key, the event of the casting key being released is reported.
[0165] The above interaction design can achieve the effect of using the finger to press the casting key and perform moving casting on the real machine, and enable the coexistence of the three mapping methods.
[0166] It should be noted that the method of the embodiments of the present disclosure can be executed by a single device, such as a computer or a server. The method of this embodiment can also be applied to a distributed scenario and completed by multiple devices cooperating with each other. In such a distributed scenario, one of the multiple devices can only execute one or more steps of the method of the embodiments of the present disclosure, and these multiple devices will interact with each other to complete the described method.
[0167] It should be noted that some embodiments of the present disclosure have been described above. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims can be executed in a different order than in the above embodiments and still achieve the desired results. Additionally, the processes depicted in the figures do not necessarily require the particular order or sequential order shown to achieve the desired results. In certain embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0168] Based on the same inventive concept, corresponding to the method of any of the above embodiments, the present disclosure also provides an information processing apparatus.
[0169] Reference Figure 5 , which is a schematic structural diagram of an information processing apparatus provided by an exemplary embodiment of the present disclosure.
[0170] An information processing apparatus provides a graphical user interface through a terminal device. A mobile phone emulator runs in the terminal device, and a game program runs in the mobile phone emulator. The graphical user interface includes a mobile phone emulator interface, and the mobile phone emulator interface includes a game program interface. The game program interface displays at least part of the game scene. The terminal device is connected to a keyboard and a mouse. The apparatus includes the following modules:
[0171] A trigger module 510 is configured to generate a trigger instruction for a virtual button corresponding to the preset button on the keyboard in response to a trigger operation on the preset button on the keyboard;
[0172] An initial coordinate determination module 520 is configured to determine a first coordinate of a cursor corresponding to the mouse in a first coordinate system of the mobile phone emulator interface in response to the trigger instruction, transform the first coordinate to a second coordinate system of the game program interface to obtain a second coordinate, and use the second coordinate as the initial position coordinate of a skill display identifier;
[0173] A coordinate mapping module 530 is configured to determine a polar coordinate angle component corresponding to the second coordinate in a third coordinate system of the skill display identifier relative to the game program interface and a polar coordinate radius component corresponding to the second coordinate in a fourth coordinate system of the skill display identifier relative to the game scene;
[0174] A coordinate transformation module 540, configured to obtain polar coordinates based on the polar coordinate angle component and the polar coordinate radius component, determine the rectangular coordinates corresponding to the polar coordinates in a fifth coordinate system of the skill indication control relative to the game program interface, transform the rectangular coordinates to the second coordinate system and then to the first coordinate system to obtain the coordinates of the skill indication control;
[0175] A display and release module 550, configured to display the skill indication control and the skill display identifier in the game program interface based on the coordinates of the skill indication control, and release the skill corresponding to the virtual button in the virtual scene.
[0176] In some exemplary embodiments, an initial coordinate determination module 520 is configured to:
[0177] Normalize the first coordinate based on the size information of the mobile phone emulator interface to obtain a normalized coordinate;
[0178] Transform the normalized coordinate to the second coordinate system to obtain the second coordinate.
[0179] In some exemplary embodiments, a coordinate mapping module 530 is configured to:
[0180] Transform the second coordinate to the fourth coordinate system to obtain a fourth coordinate;
[0181] Based on the fourth coordinate and the size information of the bounding box of the fourth coordinate system, obtain the polar coordinate radius component corresponding to the second coordinate in the fourth coordinate system of the skill display identifier relative to the game scene.
[0182] In some exemplary embodiments, a coordinate mapping module 530 is configured to:
[0183] Based on the fourth coordinate system, transform the second coordinate to a clip space to obtain a transposed matrix of the clip coordinates;
[0184] Based on the transposed matrix, obtain the fourth coordinate.
[0185] In some exemplary embodiments, the skill indication control includes a roulette-shaped control and a sub-control that can rotate on the roulette-shaped control;
[0186] Then, the display and release module 550 is configured to:
[0187] Based on the coordinates of the skill indication control, determine the position of the sub-control on the roulette-shaped control;
[0188] Display the roulette-shaped control around the virtual button, and display the sub-control on the roulette-shaped control based on the position.
[0189] In some exemplary embodiments, a display and release module 550 is configured to:
[0190] Determine the position information of the sub-control relative to the roulette-shaped control;
[0191] Based on the position information, determine the release position in the virtual scene;
[0192] Cast the skill corresponding to the virtual button to the casting position.
[0193] For convenience of description, when describing the above device, various modules are described separately according to their functions. Of course, when implementing the present disclosure, the functions of each module can be implemented in one or more software and / or hardware.
[0194] The device of the above embodiment is used to implement the corresponding information processing method in any of the foregoing embodiments, and has the beneficial effects of the corresponding method embodiments, which will not be described herein again.
[0195] Based on the same inventive concept, corresponding to the method of any of the above embodiments, the present disclosure also provides an electronic device, including a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the program, it implements the information processing method described in any of the above embodiments.
[0196] Figure 6 FIG. shows a more specific schematic hardware structure diagram of the electronic device provided in this embodiment. The device may include: a processor 1010, a memory 1020, an input / output interface 1030, a communication interface 1040, and a bus 1050. Among them, the processor 1010, the memory 1020, the input / output interface 1030, and the communication interface 1040 are communicatively connected to each other inside the device through the bus 1050.
[0197] The processor 1010 may be implemented in a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, etc., and is used to execute relevant programs to implement the technical solutions provided in the embodiments of this specification.
[0198] The memory 1020 can be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage devices, dynamic storage devices, etc. The memory 1020 can store an operating system and other application programs. When implementing the technical solutions provided in the embodiments of this specification through software or firmware, the relevant program codes are stored in the memory 1020 and called and executed by the processor 1010.
[0199] The input / output interface 1030 is used to connect to the input / output module to achieve information input and output. The input / output module can be configured as a component in the device (not shown in the figure) or externally connected to the device to provide corresponding functions. Among them, the input device can include a keyboard, a mouse, a touch screen, a microphone, various sensors, etc., and the output device can include a display, a speaker, a vibrator, an indicator light, etc.
[0200] The communication interface 1040 is used to connect to a communication module (not shown in the figure) to achieve communication interaction between this device and other devices. Among them, the communication module can achieve communication through a wired method (such as USB, network cable, etc.) or through a wireless method (such as a mobile network, WIFI, Bluetooth, etc.).
[0201] The bus 1050 includes a path for transmitting information between various components of the device (such as the processor 1010, the memory 1020, the input / output interface 1030, and the communication interface 1040).
[0202] It should be noted that although the above device only shows the processor 1010, the memory 1020, the input / output interface 1030, the communication interface 1040, and the bus 1050, in the specific implementation process, the device may also include other components necessary for normal operation. In addition, those skilled in the art can understand that the above device may also only include the components necessary to implement the solution of the embodiments of this specification, and do not have to include all the components shown in the figure.
[0203] The electronic device in the above embodiments is used to implement the corresponding information processing method in any of the foregoing embodiments, and has the beneficial effects of the corresponding method embodiments, which will not be elaborated here.
[0204] The memory 1020 stores machine-readable instructions executable by the processor 1010. When the electronic device runs, the processor 1010 communicates with the memory 1020 through the bus 1030, so that the processor 1010 executes the following instructions when running:
[0205] Generate a trigger instruction for the virtual button corresponding to the preset button on the keyboard in response to a trigger operation on the preset button on the keyboard;
[0206] In response to the trigger instruction, determine the first coordinate of the cursor corresponding to the mouse in the first coordinate system of the mobile emulator interface, transform the first coordinate to the second coordinate system of the game program interface to obtain a second coordinate, and use the second coordinate as the initial position coordinate of the skill display identifier;
[0207] Determine the polar coordinate angle component corresponding to the second coordinate in the third coordinate system of the skill display identifier relative to the game program interface and the polar coordinate radius component corresponding to the second coordinate in the fourth coordinate system of the skill display identifier relative to the game scene;
[0208] Obtain a polar coordinate based on the polar coordinate angle component and the polar coordinate radius component, determine the rectangular coordinate corresponding to the polar coordinate in the fifth coordinate system of the skill indication control relative to the game program interface, transform the rectangular coordinate to the second coordinate system and then to the first coordinate system to obtain the coordinate of the skill indication control;
[0209] Based on the coordinate of the skill indication control, display the skill indication control and the skill display identifier in the game program interface, and cast the skill corresponding to the virtual button in the virtual scene.
[0210] In a possible implementation manner, in the instruction executed by the processor 1010, the step of transforming the first coordinate to the second coordinate system of the game program interface to obtain a second coordinate includes:
[0211] Normalize the first coordinate based on the size information of the mobile emulator interface to obtain a normalized coordinate;
[0212] Transform the normalized coordinate to the second coordinate system to obtain the second coordinate.
[0213] In a possible implementation manner, in the instruction executed by the processor 1010, determining the polar coordinate radius component corresponding to the second coordinate in the fourth coordinate system of the skill display identifier relative to the game scene includes:
[0214] Transform the second coordinate to the fourth coordinate system to obtain a fourth coordinate;
[0215] Based on the fourth coordinate and the size information of the bounding box of the fourth coordinate system, obtain the polar coordinate radius component corresponding to the second coordinate in the fourth coordinate system of the skill display identifier relative to the game scene.
[0216] In a possible implementation, among the instructions executed by the processor 1010, the operation of transforming the second coordinate into the fourth coordinate system to obtain the fourth coordinate includes:
[0217] Based on the fourth coordinate system, transform the second coordinate into the clip space to obtain the transposed matrix of the clip coordinate;
[0218] Based on the transposed matrix, obtain the fourth coordinate.
[0219] In a possible implementation, among the instructions executed by the processor 1010, the skill indication control includes a roulette-shaped control and a sub-control that can rotate on the roulette-shaped control;
[0220] Then, the operation of displaying the skill indication control and the skill display identifier in the game program interface based on the coordinates of the skill indication control includes:
[0221] Based on the coordinates of the skill indication control, determine the position of the sub-control on the roulette-shaped control;
[0222] Display the roulette-shaped control around the virtual button, and display the sub-control on the roulette-shaped control based on the position.
[0223] In a possible implementation, among the instructions executed by the processor 1010, the operation of casting the skill corresponding to the virtual button in the virtual scene includes:
[0224] Determine the position information of the sub-control relative to the roulette-shaped control;
[0225] Based on the position information, determine the release position in the virtual scene;
[0226] Cast the skill corresponding to the virtual button to the release position.
[0227] Based on the same inventive concept, corresponding to the method of any of the above embodiments, the present disclosure also provides a non-transitory computer-readable storage medium storing computer instructions for causing the computer to execute the information processing method described in any of the above embodiments.
[0228] The computer-readable medium of this embodiment includes permanent and non-permanent, removable and non-removable media, and information storage can be implemented by any method or technology. The information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory, or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD), or other optical storage, magnetic cassette tapes, magnetic tape magnetic disk storage, or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device.
[0229] The above non-transitory computer-readable storage medium can be any available medium or data storage device accessible by a computer, including but not limited to magnetic memory (such as floppy disks, hard disks, magnetic tapes, magneto-optical discs (MO), etc.), optical memory (such as CDs, DVDs, BDs, HVDs, etc.), and semiconductor memory (such as ROM, EPROM, EEPROM, non-volatile memory (NAND FLASH), solid state drives (SSD)), etc.
[0230] The computer instructions stored in the storage medium of the above embodiment are used to cause the computer to execute the information processing method described in any one of the above exemplary method embodiments, and have the beneficial effects of the corresponding method embodiments, which will not be elaborated here.
[0231] Based on the same inventive concept, corresponding to the information processing method described in any of the above embodiments, the present disclosure also provides a computer program product, which includes computer program instructions. In some embodiments, the computer program instructions can be executed by one or more processors of the computer to cause the computer and / or the processor to execute the information processing method. Corresponding to the execution subject of each step in each embodiment of the information processing method, the processor executing the corresponding step can belong to the corresponding execution subject.
[0232] The computer program product of the above embodiment is used to cause the computer and / or the processor to execute the information processing method described in any of the above embodiments, and has the beneficial effects of the corresponding method embodiments, which will not be elaborated here.
[0233] Those skilled in the art will know that the embodiments of the present disclosure can be implemented as a system, method, or computer program product. Therefore, the present disclosure can be specifically implemented in the following forms, namely: completely hardware, completely software (including firmware, resident software, microcode, etc.), or a combination of hardware and software, generally referred to herein as "circuit", "module", or "system". In addition, in some embodiments, the present disclosure can also be implemented in the form of a computer program product in one or more computer-readable media, which contain computer-readable program code.
[0234] Any combination of one or more computer-readable media can be adopted. The computer-readable media can be computer-readable signal media or computer-readable storage media. The computer-readable storage media can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above. More specific examples (non-exhaustive) of the computer-readable storage media can include, for example: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In this document, the computer-readable storage media can be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
[0235] The computer-readable signal media can include data signals propagated in a baseband or as part of a carrier wave, which carry computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The computer-readable signal media can also be any computer-readable media other than the computer-readable storage media, which can send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.
[0236] The program code contained on the computer-readable media can be transmitted by any appropriate medium, including but not limited to wireless, wire, optical cable, RF, etc., or any suitable combination of the above.
[0237] Computer program code for performing the operations of this disclosure may be written in one or more programming languages or combinations thereof, including object-oriented programming languages such as Java, Smalltalk, C++, and also including conventional procedural programming languages such as the "C" language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or alternatively, may be connected to an external computer (e.g., through the Internet using an Internet service provider).
[0238] It should be understood that each block of the flowchart and / or block diagram, and combinations of blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, a special purpose computer, or other programmable data processing apparatus to produce a machine, such that the computer program instructions executed by the computer or other programmable data processing apparatus create means for implementing the functions / operations specified in the block of the flowchart and / or block diagram.
[0239] These computer program instructions may also be stored in a computer-readable medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable medium produce an article of manufacture including instruction means for implementing the functions / operations specified in the block of the flowchart and / or block diagram.
[0240] The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device, such that a series of operational steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, whereby the instructions executed on the computer or other programmable apparatus provide a process for implementing the functions / operations specified in the block of the flowchart and / or block diagram.
[0241] In addition, although the operations of the method of this disclosure are depicted in the figures in a particular order, this is not required or implied to perform the operations in that particular order, or to perform all of the illustrated operations to achieve the desired result. Instead, the steps depicted in the flowchart may be reordered. Additionally or alternatively, certain steps may be omitted, multiple steps may be combined into one step and performed, and / or one step may be decomposed into multiple steps and performed.
[0242] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of systems, methods, and computer program products according to various embodiments of the present application. Among them, each block in the flowchart or block diagram may represent a module, a program segment, or a part of code, and the above-mentioned module, program segment, or part of code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than that marked in the accompanying drawings. For example, two consecutively represented blocks may actually be executed substantially in parallel, and they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram or flowchart, as well as the combination of blocks in the block diagram or flowchart, can be implemented by a dedicated hardware-based system for performing the specified functions or operations, or can be implemented by a combination of dedicated hardware and computer instructions.
[0243] It should be noted that although several modules or units of devices for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present application, the features and functions of the two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.
[0244] Those of ordinary skill in the art should understand that: the discussion of any of the above embodiments is only exemplary and is not intended to imply that the scope of the present application (including the claims) is limited to these examples; under the concept of the present application, the technical features between the above embodiments or different embodiments can also be combined, the steps can be implemented in any order, and there are many other variations in different aspects of the embodiments of the present application as described above, and they are not provided in detail for the sake of brevity.
[0245] In addition, for the sake of simplicity of description and discussion, and in order not to make the embodiments of the present application difficult to understand, the well-known power / ground connections to integrated circuit (IC) chips and other components may or may not be shown in the provided drawings. In addition, the devices may be shown in the form of block diagrams in order not to make the embodiments of the present application difficult to understand, and this also takes into account the fact that the details of the implementation of these block diagram devices are highly dependent on the platform on which the embodiments of the present application will be implemented (i.e., these details should be completely within the understanding of those skilled in the art). In the case where specific details (such as circuits) are set forth to describe the exemplary embodiments of the present application, it will be apparent to those skilled in the art that the embodiments of the present application can be implemented without these specific details or with variations of these specific details. Therefore, these descriptions should be considered illustrative rather than restrictive.
[0246] Although the present application has been described in connection with specific embodiments thereof, many alternatives, modifications, and variations of these embodiments will be apparent to those of ordinary skill in the art in light of the foregoing description. For example, other memory architectures (e.g., dynamic RAM (DRAM)) may be used with the embodiments discussed.
[0247] Embodiments of the present application are intended to cover all such alternatives, modifications, and variations that fall within the broad scope of the appended claims. Accordingly, any omissions, modifications, equivalent substitutions, improvements, etc. made within the spirit and principle of the embodiments of the present application shall be included within the protection scope of the present application.
[0248] Although the spirit and principles of the present disclosure have been described with reference to several specific embodiments, it should be understood that the present disclosure is not limited to the specific embodiments disclosed, and the division of each aspect does not mean that the features in these aspects cannot be combined for benefit. This division is only for the convenience of expression. The present disclosure is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims. The scope of the appended claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
Claims
1. An information processing method, characterized in that Providing a graphical user interface through a terminal device, where a mobile phone emulator runs in the terminal device, a game program runs in the mobile phone emulator, the mobile phone emulator interface is displayed in the graphical user interface, the game program interface is displayed in the mobile phone emulator interface, at least part of the game scene is displayed in the game program interface, the terminal device is connected to a keyboard and a mouse, and the method includes: In response to a trigger operation on a preset key on the keyboard, generating a trigger instruction for a virtual key corresponding to the preset key in the game program interface; In response to the trigger instruction, determining the first coordinate of the cursor corresponding to the mouse in the first coordinate system of the mobile phone emulator interface, transforming the first coordinate to the second coordinate system of the game program interface to obtain a second coordinate, and using the second coordinate as the initial position coordinate of the skill display identifier; Determining the polar coordinate angle component corresponding to the second coordinate in the third coordinate system of the skill display identifier relative to the game program interface and the polar coordinate radius component corresponding to the second coordinate in the fourth coordinate system of the skill display identifier relative to the game scene; Obtaining a polar coordinate based on the polar coordinate angle component and the polar coordinate radius component, determining the rectangular coordinate corresponding to the polar coordinate in the fifth coordinate system of the skill indication control relative to the game program interface, transforming the rectangular coordinate to the second coordinate system and then to the first coordinate system to obtain the coordinate of the skill indication control; Based on the coordinate of the skill indication control, displaying the skill indication control and the skill display identifier in the game program interface, and casting the skill corresponding to the virtual key in the virtual scene.
2. The method according to claim 1, wherein The transforming the first coordinate to the second coordinate system of the game program interface to obtain a second coordinate includes: Normalizing the first coordinate based on the size information of the mobile phone emulator interface to obtain a normalized coordinate; Transforming the normalized coordinate to the second coordinate system to obtain the second coordinate.
3. The method according to claim 1, characterized in that, Determining the polar coordinate radius component corresponding to the second coordinate in the fourth coordinate system of the skill display identifier relative to the game scene includes: Transforming the second coordinate to the fourth coordinate system to obtain a fourth coordinate; Based on the fourth coordinate and the size information of the bounding box of the fourth coordinate system, obtaining the polar coordinate radius component corresponding to the second coordinate in the fourth coordinate system of the skill display identifier relative to the game scene.
4. The method according to claim 3, characterized in that, The transforming the second coordinate to the fourth coordinate system to obtain a fourth coordinate includes: Based on the fourth coordinate system, transforming the second coordinate to the clip space to obtain the transposed matrix of the clip coordinate; Based on the transposed matrix, obtaining the fourth coordinate.
5. The method according to claim 1, wherein The skill indication control includes a roulette-shaped control and a sub-control that can rotate on the roulette-shaped control; Then, the displaying the skill indication control and the skill display identifier in the game program interface based on the coordinate of the skill indication control includes: Based on the coordinate of the skill indication control, determining the position of the sub-control on the roulette-shaped control; Display the roulette-shaped control around the virtual button, and display the sub-control on the roulette-shaped control based on the position.
6. The method according to claim 5, characterized in that Casting the skill corresponding to the virtual button in the virtual scene includes: Determine the position information of the sub-control relative to the roulette-shaped control; Based on the position information, determine the release position in the virtual scene; Cast the skill corresponding to the virtual button to the release position.
7. An information processing apparatus, characterized in that, Provide a graphical user interface through a terminal device. A mobile phone emulator is running in the terminal device, and a game program is running in the mobile phone emulator. The graphical user interface displays the mobile phone emulator interface, the mobile phone emulator interface displays the game program interface, and at least part of the game scene is displayed in the game program interface. The terminal device is connected to a keyboard and a mouse. The device includes: A trigger module configured to generate a trigger instruction for a virtual button corresponding to the preset button on the keyboard in response to a trigger operation on the preset button on the keyboard; An initial coordinate determination module configured to, in response to the trigger instruction, determine the first coordinate of the cursor corresponding to the mouse in the first coordinate system of the mobile phone emulator interface, transform the first coordinate to the second coordinate system of the game program interface to obtain a second coordinate, and use the second coordinate as the initial position coordinate of the skill display identifier; A coordinate mapping module configured to determine the polar coordinate angle component corresponding to the second coordinate in the third coordinate system of the skill display identifier relative to the game program interface and the polar coordinate radius component corresponding to the second coordinate in the fourth coordinate system of the skill display identifier relative to the game scene; A coordinate transformation module configured to obtain a polar coordinate based on the polar coordinate angle component and the polar coordinate radius component, determine the rectangular coordinate corresponding to the polar coordinate in the fifth coordinate system of the skill indication control relative to the game program interface, transform the rectangular coordinate to the second coordinate system and then to the first coordinate system to obtain the coordinate of the skill indication control; A display and release module configured to display the skill indication control and the skill display identifier in the game program interface based on the coordinate of the skill indication control, and cast the skill corresponding to the virtual button in the virtual scene.
8. An electronic device, characterized in that, It includes a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the program, it implements the method according to any one of claims 1 to 6.
9. A non-transitory computer-readable storage medium, characterized in that The non-transitory computer-readable storage medium stores computer instructions for causing a computer to execute the method according to any one of claims 1 to 6.
10. A computer program product, characterized in that, It includes computer program instructions that, when running on a computer, cause the computer to execute the method according to any one of claims 1 to 6.